🚀 Instalação completa do Gitea com todos os scripts e documentação
This commit is contained in:
12
.gitignore
vendored
Normal file
12
.gitignore
vendored
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# Dados sensíveis
|
||||||
|
data/
|
||||||
|
postgres/
|
||||||
|
*.log
|
||||||
|
*.key
|
||||||
|
*.pem
|
||||||
|
|
||||||
|
# Arquivos temporários
|
||||||
|
*.tmp
|
||||||
|
*.bak
|
||||||
|
*~
|
||||||
|
|
||||||
129
ACESSO_RAPIDO.txt
Normal file
129
ACESSO_RAPIDO.txt
Normal file
@@ -0,0 +1,129 @@
|
|||||||
|
╔════════════════════════════════════════════════════════════════════╗
|
||||||
|
║ ║
|
||||||
|
║ 🎉 GITEA INSTALADO COM SUCESSO! 🎉 ║
|
||||||
|
║ ║
|
||||||
|
║ Seu repositório Git privado está pronto! ║
|
||||||
|
║ ║
|
||||||
|
╚════════════════════════════════════════════════════════════════════╝
|
||||||
|
|
||||||
|
|
||||||
|
📍 ACESSO
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
🌐 URL: http://meurepositorio.com
|
||||||
|
🔒 HTTPS: https://meurepositorio.com (após configurar SSL)
|
||||||
|
📁 Localização: /root/gitea/
|
||||||
|
|
||||||
|
|
||||||
|
⚡ COMANDOS RÁPIDOS
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
# Verificar status do sistema
|
||||||
|
/root/gitea/check-system.sh
|
||||||
|
|
||||||
|
# Ver status dos containers
|
||||||
|
/root/gitea/manage-gitea.sh status
|
||||||
|
|
||||||
|
# Ver logs em tempo real
|
||||||
|
/root/gitea/manage-gitea.sh logs
|
||||||
|
|
||||||
|
# Reiniciar sistema
|
||||||
|
/root/gitea/manage-gitea.sh restart
|
||||||
|
|
||||||
|
# Fazer backup
|
||||||
|
/root/gitea/manage-gitea.sh backup
|
||||||
|
|
||||||
|
|
||||||
|
🔐 CONFIGURAR SSL (HTTPS) - IMPORTANTE!
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
⚠️ ANTES: Configure o DNS para apontar para este servidor!
|
||||||
|
|
||||||
|
Depois execute:
|
||||||
|
cd /root/gitea
|
||||||
|
./configure-ssl.sh
|
||||||
|
|
||||||
|
|
||||||
|
📚 DOCUMENTAÇÃO
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
📖 Documentação completa: /root/gitea/README.md
|
||||||
|
🚀 Guia rápido: /root/gitea/QUICK_START.txt
|
||||||
|
📋 Resumo instalação: /root/gitea/INSTALACAO_COMPLETA.txt
|
||||||
|
⚙️ Verificar sistema: /root/gitea/check-system.sh
|
||||||
|
|
||||||
|
|
||||||
|
🔧 SCRIPTS DISPONÍVEIS
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
/root/gitea/manage-gitea.sh - Gerenciar Gitea
|
||||||
|
/root/gitea/configure-ssl.sh - Configurar HTTPS/SSL
|
||||||
|
/root/gitea/check-system.sh - Verificar status do sistema
|
||||||
|
|
||||||
|
|
||||||
|
💾 INFORMAÇÕES DO SISTEMA
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
Container Gitea: gitea (gitea/gitea:latest)
|
||||||
|
Container Database: gitea-db-1 (postgres:14)
|
||||||
|
Reverse Proxy: Nginx
|
||||||
|
|
||||||
|
Portas:
|
||||||
|
- HTTP: 80
|
||||||
|
- HTTPS: 443 (após SSL)
|
||||||
|
- Git SSH: 222
|
||||||
|
|
||||||
|
|
||||||
|
🔄 PRÓXIMOS PASSOS
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
1. ✓ Gitea instalado e rodando
|
||||||
|
2. ✓ Nginx configurado
|
||||||
|
3. ⚠️ Configurar DNS (aponte para o IP deste servidor)
|
||||||
|
4. ⚠️ Configurar SSL/HTTPS (execute ./configure-ssl.sh)
|
||||||
|
5. ⚠️ Acessar e configurar o Gitea pela primeira vez
|
||||||
|
6. ⚠️ Criar sua conta de administrador
|
||||||
|
|
||||||
|
|
||||||
|
🎯 PRIMEIRO ACESSO
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
1. Acesse: http://meurepositorio.com
|
||||||
|
|
||||||
|
2. Complete o formulário de instalação:
|
||||||
|
- Database Type: PostgreSQL ✓ (já configurado)
|
||||||
|
- Host: db:5432 ✓
|
||||||
|
- Username: gitea ✓
|
||||||
|
- Password: gitea ✓
|
||||||
|
- Database Name: gitea ✓
|
||||||
|
|
||||||
|
3. Configure o site:
|
||||||
|
- Server Domain: meurepositorio.com
|
||||||
|
- SSH Server Port: 222
|
||||||
|
- HTTP Port: 3000
|
||||||
|
- Base URL: http://meurepositorio.com (ou https:// após SSL)
|
||||||
|
|
||||||
|
4. Crie sua conta de administrador:
|
||||||
|
- Username: (seu usuário)
|
||||||
|
- Password: (senha forte)
|
||||||
|
- Email: (seu email)
|
||||||
|
|
||||||
|
5. Clique em "Install Gitea"
|
||||||
|
|
||||||
|
|
||||||
|
📞 SUPORTE
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
Documentação oficial: https://docs.gitea.io
|
||||||
|
Comunidade: https://discourse.gitea.io
|
||||||
|
GitHub: https://github.com/go-gitea/gitea
|
||||||
|
|
||||||
|
|
||||||
|
╔════════════════════════════════════════════════════════════════════╗
|
||||||
|
║ ║
|
||||||
|
║ ✨ Seu repositório Git privado está pronto para uso! ✨ ║
|
||||||
|
║ ║
|
||||||
|
║ Para ver o guia rápido: cat /root/gitea/QUICK_START.txt ║
|
||||||
|
║ ║
|
||||||
|
╚════════════════════════════════════════════════════════════════════╝
|
||||||
|
|
||||||
79
FIREWALL_INFO.txt
Normal file
79
FIREWALL_INFO.txt
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
╔══════════════════════════════════════════════════════════════════╗
|
||||||
|
║ IMPORTANTE: PORTA 443 (HTTPS) BLOQUEADA ║
|
||||||
|
╚══════════════════════════════════════════════════════════════════╝
|
||||||
|
|
||||||
|
O certificado SSL está instalado e funcionando corretamente no servidor,
|
||||||
|
MAS a porta 443 está sendo bloqueada externamente.
|
||||||
|
|
||||||
|
SITUAÇÃO ATUAL:
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
✓ Porta 80 (HTTP): ACESSÍVEL
|
||||||
|
✗ Porta 443 (HTTPS): BLOQUEADA (firewall externo)
|
||||||
|
✓ Nginx: FUNCIONANDO
|
||||||
|
✓ SSL: INSTALADO
|
||||||
|
|
||||||
|
COMO RESOLVER:
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
1. PROVEDOR CLOUD/VPS (AWS, Azure, DigitalOcean, Contabo, etc.)
|
||||||
|
────────────────────────────────────────────────────────────────
|
||||||
|
- Acesse o painel de controle do provedor
|
||||||
|
- Vá em "Security Groups" ou "Firewall Rules"
|
||||||
|
- Adicione regra permitindo tráfego de entrada na porta 443/TCP
|
||||||
|
- Origem: 0.0.0.0/0 (qualquer lugar) ou IPs específicos
|
||||||
|
|
||||||
|
2. ROTEADOR/FIREWALL LOCAL
|
||||||
|
────────────────────────────────────────────────────────────────
|
||||||
|
- Acesse a interface administrativa do roteador
|
||||||
|
- Vá em "Port Forwarding" ou "NAT"
|
||||||
|
- Configure:
|
||||||
|
* Porta externa: 443
|
||||||
|
* Porta interna: 443
|
||||||
|
* IP interno: 172.16.60.149
|
||||||
|
* Protocolo: TCP
|
||||||
|
|
||||||
|
3. FIREWALL CORPORATIVO
|
||||||
|
────────────────────────────────────────────────────────────────
|
||||||
|
- Entre em contato com o administrador de rede
|
||||||
|
- Solicite liberação da porta 443 TCP de entrada
|
||||||
|
|
||||||
|
TESTAR APÓS LIBERAR:
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
# Testar porta 443 aberta
|
||||||
|
telnet meurepositorio.com 443
|
||||||
|
|
||||||
|
# Ou usar netcat
|
||||||
|
nc -zv meurepositorio.com 443
|
||||||
|
|
||||||
|
# Ou no navegador
|
||||||
|
https://meurepositorio.com
|
||||||
|
|
||||||
|
SE NÃO PUDER LIBERAR A PORTA 443:
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
Você pode usar o Gitea temporariamente via HTTP:
|
||||||
|
http://meurepositorio.com
|
||||||
|
|
||||||
|
Porém isso NÃO é seguro para produção (senhas e dados trafegam sem
|
||||||
|
criptografia).
|
||||||
|
|
||||||
|
INFORMAÇÕES TÉCNICAS:
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
IP Público: 187.102.179.100
|
||||||
|
IP Local: 172.16.60.149
|
||||||
|
Servidor atrás de NAT: SIM
|
||||||
|
|
||||||
|
Nginx está escutando em:
|
||||||
|
0.0.0.0:80 ✓
|
||||||
|
0.0.0.0:443 ✓ (mas bloqueado externamente)
|
||||||
|
|
||||||
|
Certificado SSL:
|
||||||
|
/etc/letsencrypt/live/meurepositorio.com/fullchain.pem
|
||||||
|
Válido até: Feb 14 15:32:53 2026 GMT
|
||||||
|
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
|
||||||
330
GUIA_CURSOR.md
Normal file
330
GUIA_CURSOR.md
Normal file
@@ -0,0 +1,330 @@
|
|||||||
|
# 🎯 Como Usar seu Gitea com o Cursor
|
||||||
|
|
||||||
|
Seu repositório Gitea funciona **exatamente como GitHub** com o Cursor!
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📋 Pré-requisitos
|
||||||
|
|
||||||
|
1. ✅ Gitea configurado (você já tem!)
|
||||||
|
2. ✅ Conta de usuário criada no Gitea
|
||||||
|
3. ✅ Cursor instalado no seu computador
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚀 Método 1: Clone via HTTPS (Mais Fácil)
|
||||||
|
|
||||||
|
### Passo 1: Criar repositório no Gitea
|
||||||
|
|
||||||
|
1. Acesse: `https://meurepositorio.com`
|
||||||
|
2. Faça login
|
||||||
|
3. Clique no **"+"** (canto superior direito)
|
||||||
|
4. Selecione **"New Repository"**
|
||||||
|
5. Preencha:
|
||||||
|
- Nome: `meu-projeto`
|
||||||
|
- Descrição: (opcional)
|
||||||
|
- Privado ou Público
|
||||||
|
6. Clique em **"Create Repository"**
|
||||||
|
|
||||||
|
### Passo 2: Clonar no Cursor
|
||||||
|
|
||||||
|
**No Cursor:**
|
||||||
|
|
||||||
|
1. Pressione `Ctrl+Shift+P` (ou `Cmd+Shift+P` no Mac)
|
||||||
|
2. Digite: `Git: Clone`
|
||||||
|
3. Cole a URL: `https://meurepositorio.com/seuusuario/meu-projeto.git`
|
||||||
|
4. Escolha a pasta onde clonar
|
||||||
|
5. Digite seu **usuário** e **senha** do Gitea
|
||||||
|
|
||||||
|
Pronto! Seu repositório está clonado e pronto para usar no Cursor! 🎉
|
||||||
|
|
||||||
|
### Comandos Git no Cursor
|
||||||
|
|
||||||
|
Depois de clonar, você pode usar Git normalmente:
|
||||||
|
|
||||||
|
- **Commit**: `Ctrl+Shift+G` → Digite mensagem → Clique no ✓
|
||||||
|
- **Push**: Clique nos `...` → `Push`
|
||||||
|
- **Pull**: Clique nos `...` → `Pull`
|
||||||
|
- **Criar Branch**: Canto inferior esquerdo → Clique no nome da branch
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔐 Método 2: Clone via SSH (Recomendado para Uso Frequente)
|
||||||
|
|
||||||
|
Mais seguro e não precisa digitar senha toda vez!
|
||||||
|
|
||||||
|
### Passo 1: Gerar chave SSH (se ainda não tem)
|
||||||
|
|
||||||
|
**No seu computador:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Linux/Mac/Windows (Git Bash)
|
||||||
|
ssh-keygen -t ed25519 -C "seu-email@example.com"
|
||||||
|
|
||||||
|
# Pressione Enter para aceitar o local padrão
|
||||||
|
# Pressione Enter para senha vazia (ou defina uma)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Passo 2: Copiar a chave pública
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Linux/Mac
|
||||||
|
cat ~/.ssh/id_ed25519.pub
|
||||||
|
|
||||||
|
# Windows (PowerShell)
|
||||||
|
type $env:USERPROFILE\.ssh\id_ed25519.pub
|
||||||
|
|
||||||
|
# Windows (Git Bash)
|
||||||
|
cat ~/.ssh/id_ed25519.pub
|
||||||
|
```
|
||||||
|
|
||||||
|
Copie todo o conteúdo (começa com `ssh-ed25519 ...`)
|
||||||
|
|
||||||
|
### Passo 3: Adicionar no Gitea
|
||||||
|
|
||||||
|
1. Acesse: `https://meurepositorio.com`
|
||||||
|
2. Faça login
|
||||||
|
3. Clique no **avatar** (canto superior direito) → **Settings**
|
||||||
|
4. No menu lateral: **SSH / GPG Keys**
|
||||||
|
5. Clique em **Add Key**
|
||||||
|
6. Cole a chave pública
|
||||||
|
7. Dê um nome (ex: "Meu Computador")
|
||||||
|
8. Clique em **Add Key**
|
||||||
|
|
||||||
|
### Passo 4: Clonar via SSH
|
||||||
|
|
||||||
|
**No Cursor:**
|
||||||
|
|
||||||
|
1. Pressione `Ctrl+Shift+P` (ou `Cmd+Shift+P`)
|
||||||
|
2. Digite: `Git: Clone`
|
||||||
|
3. Cole a URL SSH: `ssh://git@meurepositorio.com:222/seuusuario/meu-projeto.git`
|
||||||
|
|
||||||
|
⚠️ **Importante**: Note a porta **222** (não é 22!)
|
||||||
|
|
||||||
|
4. Escolha a pasta
|
||||||
|
5. Não vai pedir senha! 🎉
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📦 Método 3: Publicar Projeto Existente do Cursor
|
||||||
|
|
||||||
|
Você já tem um projeto no Cursor e quer colocar no Gitea?
|
||||||
|
|
||||||
|
### Passo 1: Criar repositório vazio no Gitea
|
||||||
|
|
||||||
|
1. Acesse o Gitea
|
||||||
|
2. Crie um novo repositório
|
||||||
|
3. **Importante**: NÃO marque "Initialize repository"
|
||||||
|
4. Copie a URL que aparecer
|
||||||
|
|
||||||
|
### Passo 2: No Cursor
|
||||||
|
|
||||||
|
Abra o terminal integrado (`Ctrl+``) e execute:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Inicializar Git (se ainda não tem)
|
||||||
|
git init
|
||||||
|
|
||||||
|
# Adicionar seus arquivos
|
||||||
|
git add .
|
||||||
|
|
||||||
|
# Primeiro commit
|
||||||
|
git commit -m "Primeiro commit"
|
||||||
|
|
||||||
|
# Adicionar o remote do Gitea
|
||||||
|
git remote add origin https://meurepositorio.com/seuusuario/meu-projeto.git
|
||||||
|
|
||||||
|
# OU via SSH:
|
||||||
|
git remote add origin ssh://git@meurepositorio.com:222/seuusuario/meu-projeto.git
|
||||||
|
|
||||||
|
# Push para o Gitea
|
||||||
|
git push -u origin master
|
||||||
|
```
|
||||||
|
|
||||||
|
Digite usuário e senha quando solicitado (se HTTPS).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔄 Workflow Diário no Cursor
|
||||||
|
|
||||||
|
### Fazer mudanças e enviar:
|
||||||
|
|
||||||
|
1. **Edite arquivos** normalmente no Cursor
|
||||||
|
2. **Ver mudanças**: `Ctrl+Shift+G`
|
||||||
|
3. **Stage arquivos**: Clique no `+` ao lado dos arquivos
|
||||||
|
4. **Commit**: Digite mensagem e clique no ✓
|
||||||
|
5. **Push**: Clique nos `...` → `Push`
|
||||||
|
|
||||||
|
### Baixar mudanças do servidor:
|
||||||
|
|
||||||
|
1. Clique nos `...` → `Pull`
|
||||||
|
|
||||||
|
### Criar branch:
|
||||||
|
|
||||||
|
1. Canto inferior esquerdo → Nome da branch
|
||||||
|
2. `+ Create new branch...`
|
||||||
|
3. Digite o nome
|
||||||
|
4. Push: `...` → `Publish Branch`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚙️ Configurações Úteis no Cursor
|
||||||
|
|
||||||
|
### Salvar credenciais (HTTPS)
|
||||||
|
|
||||||
|
Para não digitar senha toda vez:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Linux/Mac
|
||||||
|
git config --global credential.helper store
|
||||||
|
|
||||||
|
# Windows
|
||||||
|
git config --global credential.helper wincred
|
||||||
|
```
|
||||||
|
|
||||||
|
Na primeira vez que fizer push/pull, digite usuário e senha.
|
||||||
|
Depois disso, ficará salvo!
|
||||||
|
|
||||||
|
### Configurar Git
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Seu nome
|
||||||
|
git config --global user.name "Seu Nome"
|
||||||
|
|
||||||
|
# Seu email
|
||||||
|
git config --global user.email "seu-email@example.com"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎨 Extensões Úteis do Cursor para Git
|
||||||
|
|
||||||
|
O Cursor já vem com Git integrado, mas você pode instalar:
|
||||||
|
|
||||||
|
- **GitLens**: Visualização avançada de histórico
|
||||||
|
- **Git Graph**: Ver árvore de commits visual
|
||||||
|
- **Git History**: Ver histórico de arquivos
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔍 Troubleshooting
|
||||||
|
|
||||||
|
### ❌ "Could not resolve host"
|
||||||
|
|
||||||
|
**Problema**: DNS não resolve `meurepositorio.com`
|
||||||
|
|
||||||
|
**Solução**: Aguarde propagação DNS ou adicione no arquivo hosts:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Linux/Mac: /etc/hosts
|
||||||
|
# Windows: C:\Windows\System32\drivers\etc\hosts
|
||||||
|
|
||||||
|
187.102.179.100 meurepositorio.com
|
||||||
|
```
|
||||||
|
|
||||||
|
### ❌ "SSL certificate problem"
|
||||||
|
|
||||||
|
**Problema**: Certificado SSL não confiável
|
||||||
|
|
||||||
|
**Solução temporária** (apenas para teste):
|
||||||
|
```bash
|
||||||
|
git config --global http.sslVerify false
|
||||||
|
```
|
||||||
|
|
||||||
|
**Solução correta**: Aguarde certificado SSL ser reconhecido ou importe o certificado.
|
||||||
|
|
||||||
|
### ❌ "Connection timeout" (SSH)
|
||||||
|
|
||||||
|
**Problema**: Porta SSH não acessível
|
||||||
|
|
||||||
|
**Lembre-se**: O Gitea usa porta **222**, não 22!
|
||||||
|
|
||||||
|
URL SSH correta:
|
||||||
|
```
|
||||||
|
ssh://git@meurepositorio.com:222/usuario/repo.git
|
||||||
|
```
|
||||||
|
|
||||||
|
### ❌ "Permission denied (publickey)"
|
||||||
|
|
||||||
|
**Problema**: Chave SSH não configurada
|
||||||
|
|
||||||
|
**Solução**:
|
||||||
|
1. Verifique se a chave está no Gitea (Settings → SSH Keys)
|
||||||
|
2. Teste conexão: `ssh -p 222 git@meurepositorio.com`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📚 URLs do Seu Gitea
|
||||||
|
|
||||||
|
### Clone HTTPS:
|
||||||
|
```
|
||||||
|
https://meurepositorio.com/seuusuario/seurepositorio.git
|
||||||
|
```
|
||||||
|
|
||||||
|
### Clone SSH:
|
||||||
|
```
|
||||||
|
ssh://git@meurepositorio.com:222/seuusuario/seurepositorio.git
|
||||||
|
```
|
||||||
|
|
||||||
|
### Web:
|
||||||
|
```
|
||||||
|
https://meurepositorio.com
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 Exemplo Completo: Criar e Usar Repositório
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. Criar pasta do projeto
|
||||||
|
mkdir meu-projeto
|
||||||
|
cd meu-projeto
|
||||||
|
|
||||||
|
# 2. Inicializar Git
|
||||||
|
git init
|
||||||
|
|
||||||
|
# 3. Criar arquivo
|
||||||
|
echo "# Meu Projeto" > README.md
|
||||||
|
|
||||||
|
# 4. Primeiro commit
|
||||||
|
git add .
|
||||||
|
git commit -m "Initial commit"
|
||||||
|
|
||||||
|
# 5. Conectar com Gitea (criar repo vazio lá primeiro!)
|
||||||
|
git remote add origin https://meurepositorio.com/seuusuario/meu-projeto.git
|
||||||
|
|
||||||
|
# 6. Push
|
||||||
|
git push -u origin master
|
||||||
|
|
||||||
|
# 7. Abrir no Cursor
|
||||||
|
code .
|
||||||
|
```
|
||||||
|
|
||||||
|
Pronto! Agora você pode trabalhar normalmente no Cursor! 🚀
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 💡 Dicas Profissionais
|
||||||
|
|
||||||
|
1. **Use SSH**: Mais seguro e rápido
|
||||||
|
2. **Commits frequentes**: Pequenos e descritivos
|
||||||
|
3. **Branches**: Use branches para features
|
||||||
|
4. **Pull antes de Push**: Evita conflitos
|
||||||
|
5. **.gitignore**: Não commite arquivos desnecessários
|
||||||
|
6. **Backup**: Seu Gitea é o backup, mas faça backup do servidor também!
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎉 Vantagens do Seu Gitea Privado
|
||||||
|
|
||||||
|
✅ **Privacidade total**: Seus códigos não saem do seu servidor
|
||||||
|
✅ **Sem limites**: Repos ilimitados, tamanho ilimitado
|
||||||
|
✅ **Controle total**: Você decide as regras
|
||||||
|
✅ **Grátis**: Sem mensalidades
|
||||||
|
✅ **Rápido**: Na sua rede local
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Seu repositório Git privado está pronto para ser usado com o Cursor!** 🚀
|
||||||
|
|
||||||
|
|
||||||
167
INSTALACAO_COMPLETA.txt
Normal file
167
INSTALACAO_COMPLETA.txt
Normal file
@@ -0,0 +1,167 @@
|
|||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
GITEA - INSTALAÇÃO COMPLETA E CONFIGURADA
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
✓ INSTALAÇÃO CONCLUÍDA COM SUCESSO!
|
||||||
|
|
||||||
|
Data: Sun Nov 16 16:27:29 UTC 2025
|
||||||
|
Localização: /root/gitea/
|
||||||
|
Domínio: https://meurepositorio.com
|
||||||
|
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
COMPONENTES INSTALADOS:
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
✓ Gitea (última versão)
|
||||||
|
- Container Docker rodando
|
||||||
|
- Porta interna: 3000
|
||||||
|
- SSH Git: porta 222
|
||||||
|
|
||||||
|
✓ PostgreSQL 14
|
||||||
|
- Banco de dados configurado
|
||||||
|
- Dados persistentes em /root/gitea/postgres
|
||||||
|
|
||||||
|
✓ Nginx (Reverse Proxy)
|
||||||
|
- Configurado para meurepositorio.com
|
||||||
|
- Porta HTTP: 80
|
||||||
|
- Pronto para SSL/HTTPS: 443
|
||||||
|
|
||||||
|
✓ Scripts de Gerenciamento
|
||||||
|
- manage-gitea.sh (gerenciar sistema)
|
||||||
|
- configure-ssl.sh (configurar HTTPS)
|
||||||
|
- check-system.sh (verificar status)
|
||||||
|
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
IMPORTANTE - PRÓXIMOS PASSOS:
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
⚠️ O DNS ainda NÃO está apontando para este servidor!
|
||||||
|
|
||||||
|
Ação necessária:
|
||||||
|
1. Configure o DNS do domínio meurepositorio.com
|
||||||
|
- Tipo A: meurepositorio.com → IP_DESTE_SERVIDOR
|
||||||
|
- Tipo A: www.meurepositorio.com → IP_DESTE_SERVIDOR
|
||||||
|
|
||||||
|
2. Aguarde propagação DNS (5-15 minutos)
|
||||||
|
|
||||||
|
3. Configure SSL/HTTPS:
|
||||||
|
cd /root/gitea
|
||||||
|
./configure-ssl.sh
|
||||||
|
|
||||||
|
4. Acesse e configure o Gitea:
|
||||||
|
https://meurepositorio.com
|
||||||
|
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
ARQUIVOS E DIRETÓRIOS:
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
/root/gitea/
|
||||||
|
├── docker-compose.yml # Configuração do Docker
|
||||||
|
├── data/ # Dados do Gitea
|
||||||
|
├── postgres/ # Banco de dados
|
||||||
|
├── manage-gitea.sh # Script de gerenciamento
|
||||||
|
├── configure-ssl.sh # Script de configuração SSL
|
||||||
|
├── check-system.sh # Script de verificação
|
||||||
|
├── README.md # Documentação completa
|
||||||
|
├── QUICK_START.txt # Guia rápido
|
||||||
|
└── INSTALACAO_COMPLETA.txt # Este arquivo
|
||||||
|
|
||||||
|
/etc/nginx/sites-available/gitea # Configuração do Nginx
|
||||||
|
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
COMANDOS ÚTEIS:
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
# Verificar status do sistema
|
||||||
|
/root/gitea/check-system.sh
|
||||||
|
|
||||||
|
# Gerenciar Gitea
|
||||||
|
/root/gitea/manage-gitea.sh status
|
||||||
|
/root/gitea/manage-gitea.sh restart
|
||||||
|
/root/gitea/manage-gitea.sh logs
|
||||||
|
/root/gitea/manage-gitea.sh backup
|
||||||
|
|
||||||
|
# Ver containers Docker
|
||||||
|
docker ps
|
||||||
|
|
||||||
|
# Ver logs
|
||||||
|
docker logs gitea
|
||||||
|
docker logs gitea-db-1
|
||||||
|
|
||||||
|
# Reiniciar Nginx
|
||||||
|
systemctl restart nginx
|
||||||
|
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
INFORMAÇÕES TÉCNICAS:
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
Container Gitea:
|
||||||
|
- Nome: gitea
|
||||||
|
- Imagem: gitea/gitea:latest
|
||||||
|
- Porta HTTP: 3000 → 80 (via Nginx)
|
||||||
|
- Porta SSH: 22 → 222
|
||||||
|
|
||||||
|
Container PostgreSQL:
|
||||||
|
- Nome: gitea-db-1
|
||||||
|
- Imagem: postgres:14
|
||||||
|
- Database: gitea
|
||||||
|
- User: gitea
|
||||||
|
- Password: gitea
|
||||||
|
|
||||||
|
Nginx:
|
||||||
|
- Porta HTTP: 80
|
||||||
|
- Porta HTTPS: 443 (após SSL)
|
||||||
|
- Config: /etc/nginx/sites-available/gitea
|
||||||
|
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
SEGURANÇA:
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
Recomendações:
|
||||||
|
✓ Configure firewall (UFW)
|
||||||
|
✓ Use senhas fortes
|
||||||
|
✓ Ative 2FA no Gitea
|
||||||
|
✓ Configure backups automáticos
|
||||||
|
✓ Instale SSL/TLS (HTTPS)
|
||||||
|
✓ Mantenha sistema atualizado
|
||||||
|
|
||||||
|
Portas que devem estar abertas:
|
||||||
|
- 80 (HTTP)
|
||||||
|
- 443 (HTTPS)
|
||||||
|
- 222 (SSH Git)
|
||||||
|
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
BACKUP:
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
Fazer backup manual:
|
||||||
|
/root/gitea/manage-gitea.sh backup
|
||||||
|
|
||||||
|
Backups automáticos (adicionar ao crontab):
|
||||||
|
0 3 * * * /root/gitea/manage-gitea.sh backup
|
||||||
|
|
||||||
|
Backups salvos em:
|
||||||
|
/root/gitea-backups/
|
||||||
|
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
SUPORTE:
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
Documentação: /root/gitea/README.md
|
||||||
|
Guia rápido: /root/gitea/QUICK_START.txt
|
||||||
|
Verificação: /root/gitea/check-system.sh
|
||||||
|
|
||||||
|
Documentação oficial: https://docs.gitea.io
|
||||||
|
Comunidade: https://discourse.gitea.io
|
||||||
|
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
Instalação realizada em: Sun Nov 16 16:27:29 UTC 2025
|
||||||
|
Sistema pronto para uso!
|
||||||
|
|
||||||
|
Para começar, leia o guia rápido:
|
||||||
|
cat /root/gitea/QUICK_START.txt
|
||||||
|
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
|
||||||
161
PRIMEIRO_REPOSITORIO.md
Normal file
161
PRIMEIRO_REPOSITORIO.md
Normal file
@@ -0,0 +1,161 @@
|
|||||||
|
# 🎯 Como Criar e Usar seu Primeiro Repositório
|
||||||
|
|
||||||
|
## 📦 Passo 1: Criar Repositório no Gitea
|
||||||
|
|
||||||
|
1. Acesse: https://meurepositorio.com
|
||||||
|
2. Faça login com sua conta de administrador
|
||||||
|
3. Clique no **"+"** (canto superior direito)
|
||||||
|
4. Selecione **"Novo Repositório"**
|
||||||
|
5. Preencha:
|
||||||
|
- **Nome**: `scripts-servidor` (ou qualquer nome)
|
||||||
|
- **Descrição**: `Scripts e configurações do servidor`
|
||||||
|
- **Visibilidade**: Privado (recomendado)
|
||||||
|
- **Initialize Repository**: ✓ Marque "Initialize repository"
|
||||||
|
- **Add .gitignore**: Nenhum (ou escolha se quiser)
|
||||||
|
- **Add License**: Nenhum (ou escolha se quiser)
|
||||||
|
6. Clique em **"Criar Repositório"**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔗 Passo 2: Clonar no Cursor (HTTPS)
|
||||||
|
|
||||||
|
### No seu computador (onde está o Cursor):
|
||||||
|
|
||||||
|
1. Abra o Cursor
|
||||||
|
2. Pressione `Ctrl+Shift+P` (Windows/Linux) ou `Cmd+Shift+P` (Mac)
|
||||||
|
3. Digite: `Git: Clone`
|
||||||
|
4. Cole a URL: `https://meurepositorio.com/seuusuario/scripts-servidor.git`
|
||||||
|
(substitua `seuusuario` pelo seu username do Gitea)
|
||||||
|
5. Escolha uma pasta no seu computador
|
||||||
|
6. Digite seu **usuário** e **senha** do Gitea quando solicitado
|
||||||
|
7. Clique em **"Open"** quando perguntar se quer abrir o repositório
|
||||||
|
|
||||||
|
**Pronto!** Você está conectado! 🎉
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📝 Passo 3: Fazer seu Primeiro Commit
|
||||||
|
|
||||||
|
No Cursor:
|
||||||
|
|
||||||
|
1. Crie um arquivo: `README.md`
|
||||||
|
2. Escreva algo, por exemplo:
|
||||||
|
```markdown
|
||||||
|
# Scripts do Servidor
|
||||||
|
|
||||||
|
Configurações e scripts do meu servidor
|
||||||
|
```
|
||||||
|
3. Salve o arquivo (`Ctrl+S`)
|
||||||
|
4. Abra o painel Git: `Ctrl+Shift+G`
|
||||||
|
5. Você verá o arquivo `README.md` em "Changes"
|
||||||
|
6. Clique no **+** ao lado do arquivo (stage)
|
||||||
|
7. Digite uma mensagem: `"Primeiro commit"`
|
||||||
|
8. Clique no **✓** (commit)
|
||||||
|
9. Clique nos **...** → **Push**
|
||||||
|
|
||||||
|
**Sucesso!** Seu código está no Gitea! 🚀
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 💾 Salvar Credenciais (Não Pedir Senha Toda Vez)
|
||||||
|
|
||||||
|
### No terminal do seu computador (onde está o Cursor):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Windows
|
||||||
|
git config --global credential.helper wincred
|
||||||
|
|
||||||
|
# Mac
|
||||||
|
git config --global credential.helper osxkeychain
|
||||||
|
|
||||||
|
# Linux
|
||||||
|
git config --global credential.helper store
|
||||||
|
```
|
||||||
|
|
||||||
|
Na próxima vez que fizer push/pull, digite usuário e senha UMA VEZ.
|
||||||
|
Depois disso, ficará salvo automaticamente!
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📚 Repositórios Sugeridos para Organizar
|
||||||
|
|
||||||
|
### 1. **scripts-servidor**
|
||||||
|
- Scripts de gerenciamento
|
||||||
|
- Configurações
|
||||||
|
- Backups
|
||||||
|
- Tudo que fizemos hoje!
|
||||||
|
|
||||||
|
### 2. **projetos-web**
|
||||||
|
- Sites e aplicações web
|
||||||
|
- Frontend e backend
|
||||||
|
|
||||||
|
### 3. **estudos**
|
||||||
|
- Códigos de estudo
|
||||||
|
- Tutoriais
|
||||||
|
- Experimentos
|
||||||
|
|
||||||
|
### 4. **automacao**
|
||||||
|
- Scripts de automação
|
||||||
|
- Cron jobs
|
||||||
|
- Monitores
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔄 Workflow Diário
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. Abrir projeto no Cursor
|
||||||
|
code /caminho/do/projeto
|
||||||
|
|
||||||
|
# 2. Fazer mudanças nos arquivos
|
||||||
|
# (edite normalmente)
|
||||||
|
|
||||||
|
# 3. Ver mudanças
|
||||||
|
Ctrl+Shift+G
|
||||||
|
|
||||||
|
# 4. Stage arquivos
|
||||||
|
Clique no + ao lado dos arquivos
|
||||||
|
|
||||||
|
# 5. Commit
|
||||||
|
Digite mensagem e clique no ✓
|
||||||
|
|
||||||
|
# 6. Push para Gitea
|
||||||
|
Clique em ... → Push
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 Vantagens do Seu Gitea
|
||||||
|
|
||||||
|
✅ **Privado**: Ninguém vê seus códigos
|
||||||
|
✅ **Ilimitado**: Repos e tamanho sem limites
|
||||||
|
✅ **Rápido**: Na sua rede local
|
||||||
|
✅ **Seu**: Você controla tudo
|
||||||
|
✅ **Grátis**: Sem mensalidades
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🆘 Problemas Comuns
|
||||||
|
|
||||||
|
### ❌ "Authentication failed"
|
||||||
|
**Solução**: Verifique usuário e senha. No Gitea, vá em Settings → Applications → Generate New Token (e use o token no lugar da senha)
|
||||||
|
|
||||||
|
### ❌ "Could not resolve host"
|
||||||
|
**Solução**: Adicione no arquivo hosts do seu computador:
|
||||||
|
```
|
||||||
|
# Windows: C:\Windows\System32\drivers\etc\hosts
|
||||||
|
# Linux/Mac: /etc/hosts
|
||||||
|
|
||||||
|
187.102.179.100 meurepositorio.com
|
||||||
|
```
|
||||||
|
|
||||||
|
### ❌ "SSL certificate problem"
|
||||||
|
**Solução**: O certificado é válido, mas se der problema:
|
||||||
|
```bash
|
||||||
|
git config --global http.sslVerify true
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Seu Gitea está pronto para usar! Comece criando seu primeiro repositório!** 🚀
|
||||||
|
|
||||||
80
QUICK_START.txt
Normal file
80
QUICK_START.txt
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
╔══════════════════════════════════════════════════════════════════╗
|
||||||
|
║ GITEA - GUIA RÁPIDO DE INÍCIO ║
|
||||||
|
╚══════════════════════════════════════════════════════════════════╝
|
||||||
|
|
||||||
|
✓ Gitea instalado com sucesso!
|
||||||
|
✓ Nginx configurado
|
||||||
|
✓ Containers rodando
|
||||||
|
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
PRÓXIMOS PASSOS:
|
||||||
|
|
||||||
|
1. CONFIGURAR DNS (IMPORTANTE!)
|
||||||
|
─────────────────────────────
|
||||||
|
Configure os registros DNS do seu domínio:
|
||||||
|
|
||||||
|
Tipo A: meurepositorio.com → [IP_DESTE_SERVIDOR]
|
||||||
|
Tipo A: www.meurepositorio.com → [IP_DESTE_SERVIDOR]
|
||||||
|
|
||||||
|
Aguarde propagação DNS (5-15 minutos)
|
||||||
|
Teste: ping meurepositorio.com
|
||||||
|
|
||||||
|
2. CONFIGURAR SSL (HTTPS)
|
||||||
|
────────────────────────
|
||||||
|
Após o DNS estar funcionando, execute:
|
||||||
|
|
||||||
|
cd /root/gitea
|
||||||
|
./configure-ssl.sh
|
||||||
|
|
||||||
|
⚠️ Só execute após confirmar que o DNS está apontando!
|
||||||
|
|
||||||
|
3. ACESSAR O GITEA
|
||||||
|
───────────────
|
||||||
|
Abra o navegador e acesse:
|
||||||
|
http://meurepositorio.com (ou https:// após configurar SSL)
|
||||||
|
|
||||||
|
Na primeira vez, complete a configuração inicial:
|
||||||
|
- Database já está configurado (não mude!)
|
||||||
|
- Configure domínio: meurepositorio.com
|
||||||
|
- Crie sua conta de administrador
|
||||||
|
- Clique em "Install Gitea"
|
||||||
|
|
||||||
|
4. GERENCIAR O SISTEMA
|
||||||
|
───────────────────
|
||||||
|
Use o script de gerenciamento:
|
||||||
|
|
||||||
|
/root/gitea/manage-gitea.sh status # Ver status
|
||||||
|
/root/gitea/manage-gitea.sh logs # Ver logs
|
||||||
|
/root/gitea/manage-gitea.sh restart # Reiniciar
|
||||||
|
/root/gitea/manage-gitea.sh backup # Fazer backup
|
||||||
|
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
INFORMAÇÕES DO SISTEMA:
|
||||||
|
|
||||||
|
📁 Localização: /root/gitea/
|
||||||
|
🌐 Domínio: https://meurepositorio.com
|
||||||
|
🔌 Porta HTTP: 80
|
||||||
|
🔌 Porta HTTPS: 443 (após SSL)
|
||||||
|
🔌 Porta SSH Git: 222
|
||||||
|
|
||||||
|
📚 Documentação completa: /root/gitea/README.md
|
||||||
|
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
COMANDOS ÚTEIS:
|
||||||
|
|
||||||
|
# Ver status dos containers
|
||||||
|
docker ps
|
||||||
|
|
||||||
|
# Ver logs do Gitea
|
||||||
|
docker logs gitea
|
||||||
|
|
||||||
|
# Reiniciar Nginx
|
||||||
|
systemctl restart nginx
|
||||||
|
|
||||||
|
# Ver status do Nginx
|
||||||
|
systemctl status nginx
|
||||||
|
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
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.
|
||||||
|
|
||||||
|
|
||||||
114
README_PROJETO.md
Normal file
114
README_PROJETO.md
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
# 🚀 Gitea - Repositório Git Privado
|
||||||
|
|
||||||
|
Instalação e configuração completa do Gitea no servidor.
|
||||||
|
|
||||||
|
## 📋 O que tem aqui
|
||||||
|
|
||||||
|
Este repositório contém todos os scripts e configurações para gerenciar o servidor Gitea:
|
||||||
|
|
||||||
|
### 📂 Arquivos de Configuração
|
||||||
|
- `docker-compose.yml` - Configuração dos containers Docker (Gitea + PostgreSQL)
|
||||||
|
- `.gitignore` - Arquivos a ignorar no Git
|
||||||
|
|
||||||
|
### 🔧 Scripts de Gerenciamento
|
||||||
|
- `manage-gitea.sh` - Script principal de gerenciamento (start, stop, restart, backup, etc.)
|
||||||
|
- `configure-ssl.sh` - Configuração automática de SSL/TLS com Let's Encrypt
|
||||||
|
- `check-system.sh` - Verificação completa do sistema
|
||||||
|
- `monitor-porta-443.sh` - Monitoramento da porta HTTPS
|
||||||
|
- `test-https.sh` - Teste de conectividade HTTPS
|
||||||
|
|
||||||
|
### 📚 Documentação
|
||||||
|
- `README.md` - Documentação completa do sistema
|
||||||
|
- `ACESSO_RAPIDO.txt` - Guia de acesso rápido
|
||||||
|
- `QUICK_START.txt` - Guia de início rápido
|
||||||
|
- `GUIA_CURSOR.md` - Como usar o Gitea com o Cursor
|
||||||
|
- `PRIMEIRO_REPOSITORIO.md` - Como criar seu primeiro repositório
|
||||||
|
- `FIREWALL_INFO.txt` - Informações sobre firewall e porta 443
|
||||||
|
- `INSTALACAO_COMPLETA.txt` - Resumo completo da instalação
|
||||||
|
|
||||||
|
## 🎯 Comandos Rápidos
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Ver status
|
||||||
|
./manage-gitea.sh status
|
||||||
|
|
||||||
|
# Reiniciar
|
||||||
|
./manage-gitea.sh restart
|
||||||
|
|
||||||
|
# Ver logs
|
||||||
|
./manage-gitea.sh logs
|
||||||
|
|
||||||
|
# Fazer backup
|
||||||
|
./manage-gitea.sh backup
|
||||||
|
|
||||||
|
# Verificar sistema
|
||||||
|
./check-system.sh
|
||||||
|
|
||||||
|
# Testar HTTPS
|
||||||
|
./test-https.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🌐 Acesso
|
||||||
|
|
||||||
|
- **URL**: https://meurepositorio.com
|
||||||
|
- **SSH**: ssh://git@meurepositorio.com:222
|
||||||
|
- **Localização**: /root/gitea/
|
||||||
|
|
||||||
|
## 🔐 Informações Técnicas
|
||||||
|
|
||||||
|
### Stack
|
||||||
|
- **Gitea**: Latest
|
||||||
|
- **PostgreSQL**: 14
|
||||||
|
- **Nginx**: Reverse proxy
|
||||||
|
- **SSL/TLS**: Let's Encrypt (renovação automática)
|
||||||
|
- **Docker**: Containerizado
|
||||||
|
|
||||||
|
### Portas
|
||||||
|
- **80**: HTTP (redireciona para HTTPS)
|
||||||
|
- **443**: HTTPS
|
||||||
|
- **222**: SSH Git
|
||||||
|
- **3000**: Gitea (interno)
|
||||||
|
|
||||||
|
### Containers
|
||||||
|
- `gitea` - Servidor Gitea
|
||||||
|
- `gitea-db-1` - PostgreSQL
|
||||||
|
|
||||||
|
## 📦 Estrutura de Diretórios
|
||||||
|
|
||||||
|
```
|
||||||
|
/root/gitea/
|
||||||
|
├── docker-compose.yml # Config Docker
|
||||||
|
├── data/ # Dados do Gitea (não versionado)
|
||||||
|
├── postgres/ # Banco de dados (não versionado)
|
||||||
|
├── manage-gitea.sh # Gerenciamento
|
||||||
|
├── configure-ssl.sh # Config SSL
|
||||||
|
├── check-system.sh # Verificação
|
||||||
|
├── monitor-porta-443.sh # Monitor HTTPS
|
||||||
|
├── test-https.sh # Teste HTTPS
|
||||||
|
└── docs/ # Documentação
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🔄 Backup
|
||||||
|
|
||||||
|
Backups são salvos em `/root/gitea-backups/`
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Backup manual
|
||||||
|
./manage-gitea.sh backup
|
||||||
|
|
||||||
|
# Backup automático (adicionar ao crontab)
|
||||||
|
0 3 * * * /root/gitea/manage-gitea.sh backup
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🆘 Suporte
|
||||||
|
|
||||||
|
- **Documentação Gitea**: https://docs.gitea.io
|
||||||
|
- **Comunidade**: https://discourse.gitea.io
|
||||||
|
- **Verificação do sistema**: `./check-system.sh`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Instalado e configurado com sucesso!** 🎉
|
||||||
|
|
||||||
|
Data da instalação: $(date)
|
||||||
|
|
||||||
153
check-system.sh
Executable file
153
check-system.sh
Executable file
@@ -0,0 +1,153 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Script de verificação do sistema Gitea
|
||||||
|
|
||||||
|
echo "╔══════════════════════════════════════════════════════════════════╗"
|
||||||
|
echo "║ VERIFICAÇÃO DO SISTEMA GITEA ║"
|
||||||
|
echo "╚══════════════════════════════════════════════════════════════════╝"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Cores
|
||||||
|
GREEN='\033[0;32m'
|
||||||
|
RED='\033[0;31m'
|
||||||
|
YELLOW='\033[1;33m'
|
||||||
|
NC='\033[0m' # No Color
|
||||||
|
|
||||||
|
check_service() {
|
||||||
|
if [ $2 -eq 0 ]; then
|
||||||
|
echo -e "${GREEN}✓${NC} $1"
|
||||||
|
else
|
||||||
|
echo -e "${RED}✗${NC} $1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# 1. Verificar Docker
|
||||||
|
echo "1. Verificando Docker..."
|
||||||
|
docker --version > /dev/null 2>&1
|
||||||
|
check_service "Docker instalado" $?
|
||||||
|
|
||||||
|
# 2. Verificar containers
|
||||||
|
echo ""
|
||||||
|
echo "2. Verificando containers Gitea..."
|
||||||
|
GITEA_RUNNING=$(docker ps | grep -c "gitea/gitea")
|
||||||
|
DB_RUNNING=$(docker ps | grep -c "postgres:14")
|
||||||
|
|
||||||
|
if [ $GITEA_RUNNING -eq 1 ]; then
|
||||||
|
echo -e "${GREEN}✓${NC} Container Gitea rodando"
|
||||||
|
else
|
||||||
|
echo -e "${RED}✗${NC} Container Gitea NÃO está rodando"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $DB_RUNNING -eq 1 ]; then
|
||||||
|
echo -e "${GREEN}✓${NC} Container PostgreSQL rodando"
|
||||||
|
else
|
||||||
|
echo -e "${RED}✗${NC} Container PostgreSQL NÃO está rodando"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 3. Verificar Nginx
|
||||||
|
echo ""
|
||||||
|
echo "3. Verificando Nginx..."
|
||||||
|
systemctl is-active --quiet nginx
|
||||||
|
check_service "Nginx rodando" $?
|
||||||
|
|
||||||
|
nginx -t > /dev/null 2>&1
|
||||||
|
check_service "Configuração do Nginx válida" $?
|
||||||
|
|
||||||
|
# 4. Verificar se Gitea responde
|
||||||
|
echo ""
|
||||||
|
echo "4. Verificando acesso ao Gitea..."
|
||||||
|
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:3000)
|
||||||
|
if [ "$HTTP_CODE" != "000" ]; then
|
||||||
|
echo -e "${GREEN}✓${NC} Gitea respondendo na porta 3000 (HTTP $HTTP_CODE)"
|
||||||
|
else
|
||||||
|
echo -e "${RED}✗${NC} Gitea NÃO está respondendo"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 5. Verificar portas
|
||||||
|
echo ""
|
||||||
|
echo "5. Verificando portas..."
|
||||||
|
netstat -tuln | grep -q ":80 "
|
||||||
|
check_service "Porta 80 (HTTP) aberta" $?
|
||||||
|
|
||||||
|
netstat -tuln | grep -q ":3000 "
|
||||||
|
check_service "Porta 3000 (Gitea) aberta" $?
|
||||||
|
|
||||||
|
netstat -tuln | grep -q ":222 "
|
||||||
|
check_service "Porta 222 (SSH Git) aberta" $?
|
||||||
|
|
||||||
|
# 6. Verificar SSL
|
||||||
|
echo ""
|
||||||
|
echo "6. Verificando SSL..."
|
||||||
|
if [ -d "/etc/letsencrypt/live/meurepositorio.com" ]; then
|
||||||
|
echo -e "${GREEN}✓${NC} Certificado SSL instalado"
|
||||||
|
|
||||||
|
# Verificar validade do certificado
|
||||||
|
CERT_EXPIRY=$(openssl x509 -enddate -noout -in /etc/letsencrypt/live/meurepositorio.com/cert.pem 2>/dev/null | cut -d= -f2)
|
||||||
|
if [ ! -z "$CERT_EXPIRY" ]; then
|
||||||
|
echo -e " ${GREEN}→${NC} Válido até: $CERT_EXPIRY"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -e "${YELLOW}⚠${NC} Certificado SSL NÃO instalado (execute ./configure-ssl.sh)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 7. Verificar disco
|
||||||
|
echo ""
|
||||||
|
echo "7. Verificando espaço em disco..."
|
||||||
|
DISK_USAGE=$(df -h /root/gitea | tail -1 | awk '{print $5}' | sed 's/%//')
|
||||||
|
if [ $DISK_USAGE -lt 80 ]; then
|
||||||
|
echo -e "${GREEN}✓${NC} Espaço em disco OK (${DISK_USAGE}% usado)"
|
||||||
|
else
|
||||||
|
echo -e "${YELLOW}⚠${NC} Espaço em disco alto (${DISK_USAGE}% usado)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 8. Verificar DNS
|
||||||
|
echo ""
|
||||||
|
echo "8. Verificando DNS..."
|
||||||
|
DNS_IP=$(dig +short meurepositorio.com 2>/dev/null | tail -1)
|
||||||
|
SERVER_IP=$(curl -s ifconfig.me)
|
||||||
|
|
||||||
|
if [ ! -z "$DNS_IP" ]; then
|
||||||
|
echo -e " DNS aponta para: $DNS_IP"
|
||||||
|
echo -e " IP do servidor: $SERVER_IP"
|
||||||
|
|
||||||
|
if [ "$DNS_IP" == "$SERVER_IP" ]; then
|
||||||
|
echo -e "${GREEN}✓${NC} DNS configurado corretamente"
|
||||||
|
else
|
||||||
|
echo -e "${YELLOW}⚠${NC} DNS não aponta para este servidor"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -e "${YELLOW}⚠${NC} Não foi possível resolver DNS (pode não estar configurado ainda)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 9. Verificar logs recentes
|
||||||
|
echo ""
|
||||||
|
echo "9. Últimas linhas do log do Gitea:"
|
||||||
|
echo "─────────────────────────────────────────────────────────────────"
|
||||||
|
docker logs gitea --tail 5 2>&1
|
||||||
|
echo "─────────────────────────────────────────────────────────────────"
|
||||||
|
|
||||||
|
# 10. Resumo
|
||||||
|
echo ""
|
||||||
|
echo "╔══════════════════════════════════════════════════════════════════╗"
|
||||||
|
echo "║ RESUMO ║"
|
||||||
|
echo "╚══════════════════════════════════════════════════════════════════╝"
|
||||||
|
|
||||||
|
if [ $GITEA_RUNNING -eq 1 ] && [ $DB_RUNNING -eq 1 ]; then
|
||||||
|
echo -e "${GREEN}Sistema funcionando corretamente!${NC}"
|
||||||
|
echo ""
|
||||||
|
echo "Acesse seu Gitea em:"
|
||||||
|
if [ -d "/etc/letsencrypt/live/meurepositorio.com" ]; then
|
||||||
|
echo " https://meurepositorio.com"
|
||||||
|
else
|
||||||
|
echo " http://meurepositorio.com"
|
||||||
|
echo ""
|
||||||
|
echo -e "${YELLOW}RECOMENDAÇÃO:${NC} Configure SSL executando: ./configure-ssl.sh"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -e "${RED}Há problemas com o sistema!${NC}"
|
||||||
|
echo "Execute: /root/gitea/manage-gitea.sh restart"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
|
||||||
46
configure-ssl.sh
Executable file
46
configure-ssl.sh
Executable file
@@ -0,0 +1,46 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Script para configurar SSL/TLS para o Gitea com Let's Encrypt
|
||||||
|
# IMPORTANTE: Só execute este script após confirmar que o DNS está apontando corretamente para este servidor!
|
||||||
|
|
||||||
|
echo "==========================================
|
||||||
|
Configurando SSL/TLS para meurepositorio.com
|
||||||
|
=========================================="
|
||||||
|
|
||||||
|
# Verificar se o certbot está instalado
|
||||||
|
if ! command -v certbot &> /dev/null; then
|
||||||
|
echo "Instalando certbot..."
|
||||||
|
apt update
|
||||||
|
apt install -y certbot python3-certbot-nginx
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Obter certificado SSL
|
||||||
|
echo "Obtendo certificado SSL do Let's Encrypt..."
|
||||||
|
certbot --nginx -d meurepositorio.com -d www.meurepositorio.com --non-interactive --agree-tos --email admin@meurepositorio.com --redirect
|
||||||
|
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "
|
||||||
|
=========================================="
|
||||||
|
echo "✓ SSL configurado com sucesso!"
|
||||||
|
echo "✓ Seu Gitea agora está disponível em: https://meurepositorio.com"
|
||||||
|
echo "✓ O certificado será renovado automaticamente."
|
||||||
|
echo "=========================================="
|
||||||
|
|
||||||
|
# Atualizar configuração do Gitea para HTTPS
|
||||||
|
echo "Atualizando configuração do Gitea..."
|
||||||
|
docker exec gitea /bin/sh -c "sed -i 's/ROOT_URL=http:/ROOT_URL=https:/g' /data/gitea/conf/app.ini" 2>/dev/null || true
|
||||||
|
docker restart gitea
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "
|
||||||
|
=========================================="
|
||||||
|
echo "✗ Erro ao configurar SSL!"
|
||||||
|
echo "Verifique se:"
|
||||||
|
echo " 1. O domínio meurepositorio.com aponta para este servidor"
|
||||||
|
echo " 2. As portas 80 e 443 estão abertas no firewall"
|
||||||
|
echo " 3. O Nginx está rodando corretamente"
|
||||||
|
echo "=========================================="
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
47
docker-compose.yml
Executable file
47
docker-compose.yml
Executable file
@@ -0,0 +1,47 @@
|
|||||||
|
version: "3"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
gitea:
|
||||||
|
external: false
|
||||||
|
|
||||||
|
services:
|
||||||
|
server:
|
||||||
|
image: gitea/gitea:latest
|
||||||
|
container_name: gitea
|
||||||
|
environment:
|
||||||
|
- USER_UID=1000
|
||||||
|
- USER_GID=1000
|
||||||
|
- GITEA__database__DB_TYPE=postgres
|
||||||
|
- GITEA__database__HOST=db:5432
|
||||||
|
- GITEA__database__NAME=gitea
|
||||||
|
- GITEA__database__USER=gitea
|
||||||
|
- GITEA__database__PASSWD=gitea
|
||||||
|
- GITEA__server__DOMAIN=meurepositorio.com
|
||||||
|
- GITEA__server__SSH_DOMAIN=meurepositorio.com
|
||||||
|
- GITEA__server__ROOT_URL=https://meurepositorio.com
|
||||||
|
- GITEA__server__HTTP_PORT=3000
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- gitea
|
||||||
|
volumes:
|
||||||
|
- ./data:/data
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
- "222:22"
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
|
||||||
|
db:
|
||||||
|
image: postgres:14
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=gitea
|
||||||
|
- POSTGRES_PASSWORD=gitea
|
||||||
|
- POSTGRES_DB=gitea
|
||||||
|
networks:
|
||||||
|
- gitea
|
||||||
|
volumes:
|
||||||
|
- ./postgres:/var/lib/postgresql/data
|
||||||
|
|
||||||
57
manage-gitea.sh
Executable file
57
manage-gitea.sh
Executable file
@@ -0,0 +1,57 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Script de gerenciamento do Gitea
|
||||||
|
|
||||||
|
cd /root/gitea
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
echo "Iniciando Gitea..."
|
||||||
|
docker compose up -d
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
echo "Parando Gitea..."
|
||||||
|
docker compose down
|
||||||
|
;;
|
||||||
|
restart)
|
||||||
|
echo "Reiniciando Gitea..."
|
||||||
|
docker compose restart
|
||||||
|
;;
|
||||||
|
status)
|
||||||
|
echo "Status do Gitea:"
|
||||||
|
docker compose ps
|
||||||
|
;;
|
||||||
|
logs)
|
||||||
|
echo "Logs do Gitea (Ctrl+C para sair):"
|
||||||
|
docker compose logs -f gitea
|
||||||
|
;;
|
||||||
|
backup)
|
||||||
|
echo "Criando backup do Gitea..."
|
||||||
|
BACKUP_DIR="/root/gitea-backups/$(date +%Y%m%d_%H%M%S)"
|
||||||
|
mkdir -p "$BACKUP_DIR"
|
||||||
|
docker exec gitea /bin/sh -c "cd /data && tar czf /tmp/gitea-backup.tar.gz gitea"
|
||||||
|
docker cp gitea:/tmp/gitea-backup.tar.gz "$BACKUP_DIR/"
|
||||||
|
cp -r /root/gitea/postgres "$BACKUP_DIR/"
|
||||||
|
echo "Backup salvo em: $BACKUP_DIR"
|
||||||
|
;;
|
||||||
|
update)
|
||||||
|
echo "Atualizando Gitea..."
|
||||||
|
docker compose pull
|
||||||
|
docker compose up -d
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Uso: $0 {start|stop|restart|status|logs|backup|update}"
|
||||||
|
echo ""
|
||||||
|
echo "Comandos disponíveis:"
|
||||||
|
echo " start - Inicia os containers do Gitea"
|
||||||
|
echo " stop - Para os containers do Gitea"
|
||||||
|
echo " restart - Reinicia os containers do Gitea"
|
||||||
|
echo " status - Mostra o status dos containers"
|
||||||
|
echo " logs - Mostra os logs em tempo real"
|
||||||
|
echo " backup - Cria um backup completo"
|
||||||
|
echo " update - Atualiza o Gitea para a versão mais recente"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
68
monitor-porta-443.sh
Executable file
68
monitor-porta-443.sh
Executable file
@@ -0,0 +1,68 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "╔══════════════════════════════════════════════════════════════════╗"
|
||||||
|
echo "║ MONITORAMENTO DA PORTA 443 (HTTPS) ║"
|
||||||
|
echo "╚══════════════════════════════════════════════════════════════════╝"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
GREEN='\033[0;32m'
|
||||||
|
RED='\033[0;31m'
|
||||||
|
YELLOW='\033[1;33m'
|
||||||
|
NC='\033[0m'
|
||||||
|
|
||||||
|
# Função para testar porta
|
||||||
|
test_port() {
|
||||||
|
timeout 3 bash -c "</dev/tcp/meurepositorio.com/443" 2>/dev/null
|
||||||
|
return $?
|
||||||
|
}
|
||||||
|
|
||||||
|
# Teste inicial
|
||||||
|
echo "Testando conectividade HTTPS..."
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
if test_port; then
|
||||||
|
echo -e "${GREEN}✓ PORTA 443 ESTÁ ABERTA!${NC}"
|
||||||
|
echo ""
|
||||||
|
echo "Testando acesso HTTPS completo..."
|
||||||
|
|
||||||
|
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" --max-time 10 https://meurepositorio.com 2>/dev/null)
|
||||||
|
|
||||||
|
if [ "$HTTP_CODE" == "200" ] || [ "$HTTP_CODE" == "301" ] || [ "$HTTP_CODE" == "302" ]; then
|
||||||
|
echo -e "${GREEN}✓ HTTPS funcionando! (HTTP $HTTP_CODE)${NC}"
|
||||||
|
echo ""
|
||||||
|
echo "═══════════════════════════════════════════════════════════════"
|
||||||
|
echo ""
|
||||||
|
echo -e "${GREEN}🎉 TUDO PRONTO!${NC}"
|
||||||
|
echo ""
|
||||||
|
echo "Acesse agora mesmo:"
|
||||||
|
echo " https://meurepositorio.com"
|
||||||
|
echo ""
|
||||||
|
echo "Próximos passos:"
|
||||||
|
echo " 1. Abra https://meurepositorio.com no navegador"
|
||||||
|
echo " 2. Complete a configuração inicial do Gitea"
|
||||||
|
echo " 3. Crie sua conta de administrador"
|
||||||
|
echo ""
|
||||||
|
echo "═══════════════════════════════════════════════════════════════"
|
||||||
|
else
|
||||||
|
echo -e "${YELLOW}⚠ Porta aberta, mas HTTPS não respondeu corretamente${NC}"
|
||||||
|
echo "Código HTTP: $HTTP_CODE"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -e "${RED}✗ Porta 443 ainda está bloqueada${NC}"
|
||||||
|
echo ""
|
||||||
|
echo "Possíveis causas:"
|
||||||
|
echo " - O Meraki ainda está aplicando as regras (aguarde mais um pouco)"
|
||||||
|
echo " - A regra não foi configurada corretamente"
|
||||||
|
echo " - Há outro firewall na frente"
|
||||||
|
echo ""
|
||||||
|
echo "Verificações no Meraki:"
|
||||||
|
echo " - Security & SD-WAN > Firewall"
|
||||||
|
echo " - Certifique-se de que há uma regra Allow para porta 443"
|
||||||
|
echo " - Protocolo: TCP"
|
||||||
|
echo " - Destino: ${IP_LOCAL} (ou qualquer)"
|
||||||
|
echo " - Porta: 443"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
|
||||||
51
test-https.sh
Executable file
51
test-https.sh
Executable file
@@ -0,0 +1,51 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "═══════════════════════════════════════════════════════════════"
|
||||||
|
echo " TESTE DE CONECTIVIDADE HTTPS "
|
||||||
|
echo "═══════════════════════════════════════════════════════════════"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
echo "1. Testando porta 443 (HTTPS)..."
|
||||||
|
if timeout 5 bash -c '</dev/tcp/meurepositorio.com/443' 2>/dev/null; then
|
||||||
|
echo " ✓ Porta 443 está ABERTA"
|
||||||
|
else
|
||||||
|
echo " ✗ Porta 443 está FECHADA/BLOQUEADA"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "2. Testando porta 80 (HTTP)..."
|
||||||
|
if timeout 5 bash -c '</dev/tcp/meurepositorio.com/80' 2>/dev/null; then
|
||||||
|
echo " ✓ Porta 80 está ABERTA"
|
||||||
|
else
|
||||||
|
echo " ✗ Porta 80 está FECHADA/BLOQUEADA"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "3. Testando acesso HTTPS..."
|
||||||
|
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" --max-time 10 https://meurepositorio.com 2>/dev/null)
|
||||||
|
if [ "$HTTP_CODE" != "000" ] && [ ! -z "$HTTP_CODE" ]; then
|
||||||
|
echo " ✓ HTTPS acessível (HTTP $HTTP_CODE)"
|
||||||
|
else
|
||||||
|
echo " ✗ HTTPS não acessível (timeout ou conexão recusada)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "4. Verificando certificado SSL..."
|
||||||
|
if openssl s_client -connect meurepositorio.com:443 -servername meurepositorio.com </dev/null 2>/dev/null | grep -q "Verify return code: 0"; then
|
||||||
|
echo " ✓ Certificado SSL válido"
|
||||||
|
else
|
||||||
|
echo " ⚠ Não foi possível verificar o certificado (porta pode estar bloqueada)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "═══════════════════════════════════════════════════════════════"
|
||||||
|
echo ""
|
||||||
|
echo "Se a porta 443 estiver fechada, você precisa:"
|
||||||
|
echo " - Acessar o painel do provedor cloud/VPS"
|
||||||
|
echo " - Ou configurar port forwarding no roteador"
|
||||||
|
echo " - Ou contatar o administrador de rede"
|
||||||
|
echo ""
|
||||||
|
echo "Documentação: /root/gitea/FIREWALL_INFO.txt"
|
||||||
|
echo "═══════════════════════════════════════════════════════════════"
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user