Como Configurar um Servidor Git Privado no VPS
Guia completo para configurar seu próprio servidor Git privado em um VPS. Aprenda como hospedar repositórios Git com controle e privacidade completos usando GitLab, Gitea ou repositórios bare.

Hospedar seu próprio servidor Git oferece controle total sobre seus repositórios de código, garantindo privacidade e evitando dependência de serviços terceiros. Seja você precisando de um repositório bare simples ou uma plataforma de hospedagem Git completa, este guia cobre múltiplas opções para configurar um servidor Git privado em seu VPS.
Por Que Hospedar Seu Próprio Servidor Git?
- Privacidade completa: Seu código permanece em seu servidor
- Sem lock-in de fornecedor: Controle total sobre seus repositórios
- Personalização: Configure exatamente como deseja
- Custo-efetivo: Um servidor para repositórios ilimitados
- Conformidade: Atenda requisitos de residência de dados
- Aprendizado: Entenda internos do servidor Git
Opção 1: GitLab (Completo)
GitLab fornece uma plataforma DevOps completa:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | bash
apt install gitlab-ce
gitlab-ctl reconfigure
# Acesse GitLab em http://your-server-ip
# Nome de usuário padrão: root
# Defina senha no primeiro loginOpção 2: Gitea (Leve)
Gitea é um serviço Git leve e auto-hospedado:
wget -O gitea https://dl.gitea.io/gitea/1.21.0/gitea-1.21.0-linux-amd64
chmod +x gitea
mv gitea /usr/local/bin/
# Crie serviço systemd
nano /etc/systemd/system/gitea.service
# Configure e inicie Gitea
systemctl enable gitea
systemctl start giteaOpção 3: Repositório Git Bare (Simples)
Para hospedagem Git básica sem interface web:
mkdir -p /srv/git/myproject.git
cd /srv/git/myproject.git
git --bare init
# Defina permissões adequadas
chown -R git:git /srv/git
chmod -R 755 /srv/git
# Clone do cliente:
git clone git@your-server:/srv/git/myproject.gitConfiguração de Acesso SSH
Configure SSH para acesso Git seguro:
adduser git
su - git
mkdir .ssh
chmod 700 .ssh
nano .ssh/authorized_keys
# Adicione chaves públicas de desenvolvedores
chmod 600 .ssh/authorized_keys
# Teste conexão:
ssh git@your-serverMelhores Práticas de Segurança
- Use chaves SSH em vez de senhas
- Habilite autenticação de dois fatores (GitLab/Gitea)
- Backups regulares de repositórios
- Mantenha software do servidor Git atualizado
- Configure firewall para restringir acesso
- Use SSL/TLS para interfaces web
- Implemente controles de acesso e permissões
- Monitore logs para atividade suspeita
Estratégia de Backup
Backups regulares são essenciais:
#!/bin/bash
# Script de backup de repositório Git
BACKUP_DIR="/backup/git"
REPO_DIR="/srv/git"
DATE=$(date +%Y%m%d)
tar -czf $BACKUP_DIR/git-backup-$DATE.tar.gz $REPO_DIR
# Mantenha últimos 30 dias
find $BACKUP_DIR -name "*.tar.gz" -mtime +30 -deleteConfigurar seu próprio servidor Git oferece controle total sobre seus repositórios de código. Seja você escolhendo o GitLab completo, Gitea leve ou repositórios bare simples, você terá uma solução privada e segura para controle de versão. Comece com uma configuração básica e adicione gradualmente recursos como CI/CD, rastreamento de problemas e ferramentas de colaboração conforme necessário.