Files
gitea-servidor/README.md

307 lines
5.8 KiB
Markdown

# 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:
```bash
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:
```bash
# 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)
```bash
git clone https://meurepositorio.com/seuusuario/seurepositorio.git
```
### Clonar um repositório (SSH)
```bash
# 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
```bash
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:
```bash
# 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:
```bash
# 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:
```bash
cd /root/gitea
./manage-gitea.sh update
```
---
## 🆘 Troubleshooting
### Gitea não está acessível
```bash
# Verificar status dos containers
docker ps
# Ver logs
docker logs gitea
# Reiniciar
/root/gitea/manage-gitea.sh restart
```
### Nginx não está funcionando
```bash
# Testar configuração
nginx -t
# Reiniciar Nginx
systemctl restart nginx
# Ver logs
tail -f /var/log/nginx/error.log
```
### SSL não está funcionando
```bash
# Verificar certificados
certbot certificates
# Renovar manualmente
certbot renew
# Ver logs
tail -f /var/log/letsencrypt/letsencrypt.log
```
### Problemas de permissão
```bash
# Ajustar permissões
chown -R 1000:1000 /root/gitea/data
chmod -R 755 /root/gitea/data
```
---
## 📚 Recursos Úteis
- Documentação oficial do Gitea: https://docs.gitea.io
- Comunidade Gitea: https://discourse.gitea.io
- Reportar bugs: https://github.com/go-gitea/gitea/issues
---
## 📊 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.