Servidor Dedicado: 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 colaborarem no código, automatizarem fluxos de trabalho e gerenciarem todo o ciclo de vida do desenvolvimento de software de forma eficiente. Neste guia, vamos explicar 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 esses pré-requisitos para evitar problemas e inconvenientes no futuro.
Hardware
Componentes | Mínimo | Recomendado |
---|---|---|
CPU | 2x 2 GHz | 4x 2.6+ GHz |
RAM | 4 GB | 8 GB |
Armazenamento | 10 GB | 50+ GB |
Largura de banda | 100 mbit/s (upload & download) | 100 mbit/s (upload & download) |
Software
Plataforma | Opções |
---|---|
Sistema Operacional | Ubuntu (20.04, 22.04, 24.04), Debian (10, 11, 12), OpenSUSE (15.5) |
Banco de Dados | PostgreSQL 14.9+ |
Servidor Web | NGINX (incluído com GitLab), Puma 6.4.2+ |
Outros | Redis 7.x+, Sidekiq 7.3.2+, Prometheus 2.54.1+ |
Para as informações mais precisas e atualizadas sobre especificações, consulte a documentação oficial de Requisitos de Hardware do GitLab.
Preparação
Você precisa 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 estabelecer a conexão, você pode começar a instalar os pacotes necessários para a instalação do GitLab.
Passo 1: Instalando Dependências
Primeiro, instale algumas dependências para rodar o instalador do GitLab. Use os comandos abaixo para instalar as dependências necessárias no seu servidor Linux.
- Ubuntu
- Debian
- OpenSUSE
Atualize a lista de pacotes para a versão mais recente e instale o pacote OpenSSH Server junto com os pré-requisitos 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
Atualize a lista de pacotes para a versão mais recente e instale o pacote OpenSSH Server junto com os pré-requisitos 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 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
Instale o pacote OpenSSH Server junto com os pré-requisitos usando o comando abaixo. É assim que a interface web do GitLab será hospedada.
sudo zypper install curl openssh perl
Depois, certifique-se de que o daemon OpenSSH está habilitado com os comandos:
sudo systemctl status sshd
sudo systemctl enable sshd
sudo systemctl start sshd
Se estiver usando firewalld
, verifique se o firewall permite o acesso necessário.
Descubra se está usando firewalld
com o comando:
sudo systemctl status firewalld
Se estiver, abra as portas necessárias (80 e 443 por padrão):
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld
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 os comandos:
sudo zypper install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
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 o '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 instalar o GitLab no seu servidor Linux, seguindo um guia oficial do GitLab.
Passo 2: Instalando o GitLab
Depois de 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.
- Ubuntu & Debian
- OpenSUSE
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
O script abaixo adiciona os repositórios do GitLab ao gerenciador de pacotes Zypper:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
Depois, o pacote gitlab-ee
pode ser instalado:
sudo zypper install gitlab-ee
Quando o processo terminar, o GitLab estará pronto 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ê precisa fazer algumas alterações no arquivo de configuração. Comece abrindo o arquivo de configuração do GitLab com seu editor de texto preferido. Vamos usar o editor nano
como exemplo.
sudo nano /etc/gitlab/gitlab.rb
Procure a 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 onde 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 buscar 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`'
Também 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.
Você precisa usar um domínio para obter 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 sobre essas configurações
# 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'] = []
Você pode usar CTRL+W
para buscar letsencrypt['contact_emails']
e pressionar enter para não precisar procurar o arquivo inteiro manualmente.
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 automáticos. 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_endereco_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 reconfiguração após 24 horas.
Digite o usuário e 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 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 Overview->Users. 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 firewall ou, por exemplo, já usar firewalld
no OpenSUSE. Garanta que as portas 80/443 e 22 estejam liberadas.
Instalar ufw
Se já tiver o ufw
instalado, pode pular essa etapa.
- Ubuntu & Debian
- OpenSUSE
sudo apt-get install -y ufw
sudo zypper install ufw
Abrir portas necessárias
sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH
Ativar firewall
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, use o comando:
sudo ufw enable
Conclusão
Parabéns, você instalou o GitLab com sucesso! Se tiver dúvidas ou problemas, nosso time de suporte está 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.