307 lines
5.8 KiB
Markdown
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.
|
|
|
|
|