Skip to main content

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

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 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.

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
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 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.

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 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.

nota

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'] = []
dica

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.

sudo apt-get install -y ufw

Abrir 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, 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.