Gitea - Repositório Git Privado

https://meurepositorio.com

Seu repositório Git privado está instalado e configurado com sucesso!


📋 Informações do Sistema

Localização dos arquivos:

  • Configuração: /root/gitea/
  • Dados do Gitea: /root/gitea/data/
  • Banco de dados: /root/gitea/postgres/

Portas:

  • HTTP: 80 (Nginx)
  • HTTPS: 443 (após configurar SSL)
  • Gitea interno: 3000 (não exposto)
  • SSH do Git: 222

Containers Docker:

  • gitea - Servidor Gitea
  • gitea-db-1 - Banco de dados PostgreSQL

🚀 Primeiros Passos

1. Configurar DNS

ANTES DE CONTINUAR, certifique-se de que o DNS do domínio está configurado:

Tipo: A
Nome: @ (ou meurepositorio.com)
Valor: [IP_DESTE_SERVIDOR]
TTL: 300

Tipo: A  
Nome: www
Valor: [IP_DESTE_SERVIDOR]
TTL: 300

Aguarde a propagação DNS (pode levar até 24h, mas geralmente 5-15 minutos).

Teste com: ping meurepositorio.com

2. Configurar SSL/TLS (HTTPS)

Após confirmar que o DNS está apontando corretamente:

cd /root/gitea
./configure-ssl.sh

Este script irá:

  • Obter um certificado SSL gratuito do Let's Encrypt
  • Configurar o Nginx para HTTPS automático
  • Configurar renovação automática do certificado

3. Acessar e Configurar o Gitea

Primeira vez:

  1. Acesse: http://meurepositorio.com (ou https:// após configurar SSL)

  2. Na primeira visita, você verá a tela de configuração inicial:

    • Database Type: PostgreSQL (já configurado)

    • Host: db:5432

    • Username: gitea

    • Password: gitea

    • Database Name: gitea

    • Site Title: Meu Repositório

    • Repository Root Path: /data/git/repositories

    • Git LFS Root Path: /data/git/lfs

    • Run As Username: git

    • Server Domain: meurepositorio.com

    • SSH Server Port: 222

    • HTTP Port: 3000

    • Base URL: https://meurepositorio.com (ou http:// se ainda não configurou SSL)

  3. Importante: Na seção "Administrator Account Settings", crie sua conta admin:

    • Username: (seu nome de usuário)
    • Password: (senha forte)
    • Email: (seu email)
  4. Clique em "Install Gitea"


🔧 Gerenciamento do Sistema

Use o script de gerenciamento:

# Ver status
/root/gitea/manage-gitea.sh status

# Iniciar
/root/gitea/manage-gitea.sh start

# Parar
/root/gitea/manage-gitea.sh stop

# Reiniciar
/root/gitea/manage-gitea.sh restart

# Ver logs em tempo real
/root/gitea/manage-gitea.sh logs

# Fazer backup
/root/gitea/manage-gitea.sh backup

# Atualizar para versão mais recente
/root/gitea/manage-gitea.sh update

📦 Como Usar o Gitea

Criar um novo repositório

  1. Faça login no Gitea
  2. Clique no botão "+" no canto superior direito
  3. Selecione "New Repository"
  4. Preencha as informações e clique em "Create Repository"

Clonar um repositório (HTTPS)

git clone https://meurepositorio.com/seuusuario/seurepositorio.git

Clonar um repositório (SSH)

# Adicione sua chave SSH no Gitea primeiro (Settings > SSH Keys)
git clone ssh://git@meurepositorio.com:222/seuusuario/seurepositorio.git

Push para o repositório

cd seu-projeto
git init
git add .
git commit -m "Primeiro commit"
git remote add origin https://meurepositorio.com/seuusuario/seurepositorio.git
git push -u origin master

🔒 Segurança

Firewall

Certifique-se de que as seguintes portas estão abertas:

# Permitir HTTP
ufw allow 80/tcp

# Permitir HTTPS
ufw allow 443/tcp

# Permitir SSH do Git
ufw allow 222/tcp

# Verificar status
ufw status

Backup Regular

Configure um cron job para backups automáticos:

# Editar crontab
crontab -e

# Adicionar linha para backup diário às 3h da manhã
0 3 * * * /root/gitea/manage-gitea.sh backup

Senhas Seguras

  • Use senhas fortes para todas as contas
  • Ative autenticação de dois fatores (2FA) no Gitea
  • Considere usar chaves SSH em vez de senhas para Git

🔄 Atualização do Gitea

Para atualizar o Gitea para a versão mais recente:

cd /root/gitea
./manage-gitea.sh update

🆘 Troubleshooting

Gitea não está acessível

# Verificar status dos containers
docker ps

# Ver logs
docker logs gitea

# Reiniciar
/root/gitea/manage-gitea.sh restart

Nginx não está funcionando

# Testar configuração
nginx -t

# Reiniciar Nginx
systemctl restart nginx

# Ver logs
tail -f /var/log/nginx/error.log

SSL não está funcionando

# Verificar certificados
certbot certificates

# Renovar manualmente
certbot renew

# Ver logs
tail -f /var/log/letsencrypt/letsencrypt.log

Problemas de permissão

# Ajustar permissões
chown -R 1000:1000 /root/gitea/data
chmod -R 755 /root/gitea/data

📚 Recursos Úteis


📊 Informações Técnicas

Stack:

  • Gitea (última versão)
  • PostgreSQL 14
  • Nginx (reverse proxy)
  • Docker & Docker Compose
  • Let's Encrypt (SSL/TLS)

Requisitos do Sistema:

  • Linux (Ubuntu/Debian recomendado)
  • Docker instalado
  • Nginx instalado
  • Mínimo 2GB RAM
  • Mínimo 10GB de espaço em disco

📝 Notas Importantes

  1. Sempre faça backup antes de atualizar
  2. O certificado SSL é renovado automaticamente pelo certbot
  3. Os dados estão em /root/gitea/data - proteja este diretório
  4. O banco de dados PostgreSQL está em /root/gitea/postgres
  5. Para acessar Git via SSH, use a porta 222, não 22

🎉 Pronto!

Seu repositório Git privado está pronto para uso!

Acesse: https://meurepositorio.com (após configurar SSL) ou: http://meurepositorio.com (antes do SSL)

Qualquer dúvida, consulte a documentação oficial ou os logs do sistema.

Description
Instalação e scripts do Gitea
Readme 43 KiB
Languages
Shell 100%