Skip to main content

VPS: Instalar GitLab no Linux

Este guia foi criado com os seguintes produtos:

(Os detalhes podem variar com produtos de diferentes fornecedores, mas os conceitos principais permanecem os mesmos)

Introdução

GitLab é uma plataforma DevOps completa que permite às equipes colaborar no código, automatizar fluxos de trabalho e gerenciar todo o ciclo de vida do desenvolvimento de software de forma eficiente. Neste guia, explicaremos como instalar o GitLab em um servidor Linux.

Preparação

Os seguintes requisitos são recomendados pela equipe oficial do GitLab e é altamente recomendado seguir os pré-requisitos para evitar problemas e inconvenientes no futuro.

Hardware

ComponentesMínimoRecomendado
CPU2x 2 GHz4x 2.6+ GHz
RAM4 GB8 GB
Armazenamento10 GB50+ GB
Largura de banda100 mbit/s (upload & download)100 mbit/s (upload & download)

Software

PlataformaOpções
Sistema OperacionalUbuntu (20.04, 22.04, 24.04), Debian (10, 11, 12), OpenSUSE (15.5)
Banco de DadosPostgreSQL 14.9+
Servidor WebNGINX (incluído com GitLab), Puma 6.4.2+
OutrosRedis 7.x+, Sidekiq 7.3.2+, Prometheus 2.54.1+
informação

Para informações mais precisas e atualizadas sobre especificações, consulte a documentação oficial de Requisitos de Hardware do GitLab.

É necessário estabelecer uma conexão via cliente SSH para instalar o GitLab no seu servidor Linux. Confira nosso Guia de acesso inicial (SSH) para saber mais.

Após a conexão estar estabelecida, você pode começar a instalar os pacotes necessários para a instalação do GitLab.

Passo 1: Instalando Dependências

Primeiro, você precisa instalar algumas dependências para rodar o instalador do GitLab. Use os comandos abaixo para instalar as dependências necessárias no seu servidor Linux.

Atualize a lista de pacotes para a versão mais recente e instale o pacote OpenSSH Server junto com as dependências necessárias usando o comando abaixo. É assim que a interface web do GitLab será hospedada.

sudo apt update
sudo apt-get install -y curl openssh-server ca-certificates tzdata perl

Você também pode instalar o Postfix (Servidor SMTP) se quiser enviar notificações por email usando o GitLab. Isso é opcional.

Se quiser usar notificações por email, instale o Postfix com o comando:

sudo apt-get install -y postfix
informação

Durante a instalação do Postfix, pode aparecer uma configuração. Nesse caso, selecione 'Internet Site' e pressione enter. Use o DNS externo do seu servidor Linux para 'mail name' e pressione enter. Se aparecerem outras telas, continue pressionando enter para aceitar as configurações padrão.

Se preferir usar outra solução para enviar emails, pule este passo e configure um servidor SMTP externo após a instalação do GitLab seguindo um guia oficial do GitLab.

Passo 2: Instalando o GitLab

Após baixar e instalar todas as dependências necessárias, você está pronto para instalar o GitLab.

Neste guia, vamos instalar o GitLab diretamente dos repositórios oficiais.

O script abaixo adiciona os repositórios do GitLab ao gerenciador de pacotes apt:

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash

Depois, o pacote gitlab-ee pode ser instalado:

sudo apt-get install -y gitlab-ee

Quando o processo terminar, o GitLab estará pronto para uso no seu servidor Linux. Siga para a próxima seção para configurar algumas definições essenciais e garantir que o servidor funcione corretamente.

Passo 3: Configurando o GitLab

Para garantir que tudo funcione, você deve fazer algumas alterações no arquivo de configuração. Comece abrindo o arquivo de configuração do GitLab com seu editor de texto preferido. Usaremos o editor nano como exemplo.

sudo nano /etc/gitlab/gitlab.rb

Procure pela linha external_url e insira seu domínio ou o endereço IP do seu servidor Linux caso não tenha um domínio para usar com o GitLab.

## GitLab URL
##! URL na qual o GitLab estará acessível.
##! Para mais detalhes sobre como configurar external_url, veja:
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
##!
##! Nota: Durante instalações/atualizações, o valor da variável de ambiente
##! EXTERNAL_URL será usado para preencher/substituir este valor.
##! Em instâncias AWS EC2, também tentamos obter o hostname/IP público
##! do AWS. Para mais detalhes, veja:
##! https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
external_url 'http`s`://`Seu domínio / endereço IPv4 do seu servidor Linux`'

Além disso, recomendamos inserir seu email na linha letsencrypt['contact_emails']. Isso permitirá que o Let's Encrypt envie notificações e entre em contato sobre os certificados SSL automáticos e gratuitos.

nota

Você precisa usar um domínio para adquirir um certificado SSL gratuito do Let's Encrypt. Não é possível solicitar um certificado diretamente para o seu endereço IP.

################################################################################
# Integração Let's Encrypt
################################################################################
# letsencrypt['enable'] = nil
# letsencrypt['contact_emails'] = [`Seu email aqui`] # Deve ser um array de emails para contato
# letsencrypt['group'] = 'root'
# letsencrypt['key_size'] = 2048
# letsencrypt['owner'] = 'root'
# letsencrypt['wwwroot'] = '/var/opt/gitlab/nginx/www'
# Veja https://docs.gitlab.com/omnibus/settings/ssl/index.html#renew-the-certificates-automatically para mais detalhes
# letsencrypt['auto_renew'] = true
# letsencrypt['auto_renew_hour'] = 0
# letsencrypt['auto_renew_minute'] = nil # Deve ser um número ou expressão cron, se especificado.
# letsencrypt['auto_renew_day_of_month'] = "*/4"
# letsencrypt['auto_renew_log_directory'] = '/var/log/gitlab/lets-encrypt'
# letsencrypt['alt_names'] = []
dica

Você pode usar CTRL+W para buscar por letsencrypt['contact_emails'] e pressionar enter para não precisar procurar manualmente pelo arquivo inteiro.

Quando terminar, pressione CTRL+X, depois Y e Enter para salvar as alterações.

Por fim, rode o comando abaixo para reconfigurar o GitLab com as novas opções.

sudo gitlab-ctl reconfigure

Esse processo pode demorar um pouco, pois o GitLab será inicializado com as configurações atualizadas e processos automatizados. Os certificados SSL também serão emitidos se um domínio tiver sido usado.

Passo 4: Acessando a Interface Web

Após a inicialização, o servidor deve estar acessível via navegador. Acesse seu site digitando seu domínio ou endereço IP assim:

https://[seu_dominio] OU http://[seu_endereço_ip]

Na primeira vez que acessar a interface web, você verá a página de login.

Para obter acesso de admin no primeiro login, entre como usuário root usando root como nome de usuário.

A senha está armazenada em um arquivo no seu servidor Linux. Acesse o arquivo com o comando abaixo e encontre o campo Password.

sudo nano /etc/gitlab/initial_root_password
# AVISO: Este valor é válido apenas nas seguintes condições

# 1. Se fornecido manualmente (via variável de ambiente `GITLAB_ROOT_PASSWORD` ou via configuração `gitlab_rails['initial_root_password']` no `gitlab.rb`), antes do banco de dados ser inicializado pela primeira vez.

# 2. A senha não foi alterada manualmente, nem via UI nem via linha de comando.

#

# Se a senha mostrada aqui não funcionar, você deve resetar a senha do admin seguindo https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

Password: `[SUA_SENHA_AQUI]`

# NOTA: Este arquivo será deletado automaticamente na primeira execução do reconfigure após 24 horas.

Digite o nome de usuário e a senha na página de login para acessar seu dashboard GitLab pela primeira vez. Agora você pode usar seu painel GitLab no seu próprio servidor Linux.

Recomendamos fortemente criar um novo usuário e/ou alterar a senha do usuário root. Isso pode ser feito acessando Admin no canto inferior esquerdo e selecionando Visão Geral -> Usuários. Nessa página, você pode gerenciar os usuários da sua instância GitLab.

Opcional: Configurar firewall com ufw

Você pode pular essa parte se não quiser configurar um firewall ou, por exemplo, já usar firewalld no OpenSUSE. Garanta que as portas 80/443 e 22 estejam liberadas.

Instalar ufw

Se você já tem o ufw instalado, pode pular essa etapa.

sudo apt-get install -y ufw

Liberar portas necessárias

sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH

Ativar firewall

atenção

Por padrão, isso bloqueará o acesso a todas as portas que não estiverem liberadas. Certifique-se de que a lista branca está configurada corretamente antes de rodar esse comando.

Para ativar o firewall, rode:

sudo ufw enable

Conclusão

Parabéns, você instalou o GitLab com sucesso! Se tiver dúvidas ou problemas, entre em contato com nosso time de suporte, disponível todos os dias para te ajudar!

Se quiser fazer configurações adicionais, recomendamos ler a Documentação Oficial do GitLab para os próximos passos.