commit 17c2f8e219205186d6bab49855c4fd3acfae5666 Author: Admin Date: Sun Nov 16 21:49:21 2025 +0000 πŸš€ InstalaΓ§Γ£o completa do Gitea com todos os scripts e documentaΓ§Γ£o diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7f2683d --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +# Dados sensΓ­veis +data/ +postgres/ +*.log +*.key +*.pem + +# Arquivos temporΓ‘rios +*.tmp +*.bak +*~ + diff --git a/ACESSO_RAPIDO.txt b/ACESSO_RAPIDO.txt new file mode 100644 index 0000000..ec44ca8 --- /dev/null +++ b/ACESSO_RAPIDO.txt @@ -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 β•‘ +β•‘ β•‘ +β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β• + diff --git a/FIREWALL_INFO.txt b/FIREWALL_INFO.txt new file mode 100644 index 0000000..9542fce --- /dev/null +++ b/FIREWALL_INFO.txt @@ -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 + +═══════════════════════════════════════════════════════════════════ + + diff --git a/GUIA_CURSOR.md b/GUIA_CURSOR.md new file mode 100644 index 0000000..9e6e803 --- /dev/null +++ b/GUIA_CURSOR.md @@ -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!** πŸš€ + + diff --git a/INSTALACAO_COMPLETA.txt b/INSTALACAO_COMPLETA.txt new file mode 100644 index 0000000..189c753 --- /dev/null +++ b/INSTALACAO_COMPLETA.txt @@ -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 + +═══════════════════════════════════════════════════════════════════ + + diff --git a/PRIMEIRO_REPOSITORIO.md b/PRIMEIRO_REPOSITORIO.md new file mode 100644 index 0000000..3feeb7f --- /dev/null +++ b/PRIMEIRO_REPOSITORIO.md @@ -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!** πŸš€ + diff --git a/QUICK_START.txt b/QUICK_START.txt new file mode 100644 index 0000000..f47e3ef --- /dev/null +++ b/QUICK_START.txt @@ -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 + +═══════════════════════════════════════════════════════════════════ diff --git a/README.md b/README.md new file mode 100644 index 0000000..22bd82b --- /dev/null +++ b/README.md @@ -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. + + diff --git a/README_PROJETO.md b/README_PROJETO.md new file mode 100644 index 0000000..301ffb8 --- /dev/null +++ b/README_PROJETO.md @@ -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) + diff --git a/check-system.sh b/check-system.sh new file mode 100755 index 0000000..fa4680c --- /dev/null +++ b/check-system.sh @@ -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 "" + + diff --git a/configure-ssl.sh b/configure-ssl.sh new file mode 100755 index 0000000..d0e126e --- /dev/null +++ b/configure-ssl.sh @@ -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 + + diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100755 index 0000000..60ae812 --- /dev/null +++ b/docker-compose.yml @@ -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 + diff --git a/manage-gitea.sh b/manage-gitea.sh new file mode 100755 index 0000000..c3af3c2 --- /dev/null +++ b/manage-gitea.sh @@ -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 + + diff --git a/monitor-porta-443.sh b/monitor-porta-443.sh new file mode 100755 index 0000000..843ef4f --- /dev/null +++ b/monitor-porta-443.sh @@ -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/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 "" + + diff --git a/test-https.sh b/test-https.sh new file mode 100755 index 0000000..9e50ee0 --- /dev/null +++ b/test-https.sh @@ -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/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/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 | 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 "═══════════════════════════════════════════════════════════════" + +