🚀 Instalação completa do Gitea com todos os scripts e documentação
This commit is contained in:
306
README.md
Normal file
306
README.md
Normal file
@@ -0,0 +1,306 @@
|
||||
# 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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user