# Redbull - Servidor Coolify DEV Este repositório contém a documentação técnica e os guias de operação para o servidor Redbull, uma VPS dedicada ao ambiente de desenvolvimento utilizando a plataforma Coolify. ## Visão Geral O servidor Redbull é uma infraestrutura de desenvolvimento que hospeda múltiplos projetos web, seguindo uma arquitetura baseada em contêineres. A plataforma Coolify serve como camada de gerenciamento de aplicações, similar a um Heroku/Vercel self-hosted, permitindo deploys automáticos através de webhooks Git. O Traefik atua como proxy reverso com auto-descoberta de serviços. ## Especificações do Servidor | Recurso | Especificação | |---------|---------------| | **Hostname** | redbull | | **IP Público** | 185.194.141.70 | | **Domínio** | redbull.rede5.com.br | | **Coolify Dashboard** | https://redbull.rede5.com.br | | **API** | https://redbull.rede5.com.br/api/v1 | | **Plataforma** | VPS Ubuntu/Debian | | **Orquestrador** | Coolify v4 (PaaS self-hosted) | | **Container Runtime** | Docker | | **Proxy Reverso** | Traefik | | **Bancos de Dados** | PostgreSQL 16 (gerenciado) | ## Projetos Hospedados ### GoHorse Jobs (DEV) | Serviço | UUID | Porta | Domínio | |---------|------|:-----:|---------| | Backend | `iw4sow8s0kkg4cccsk08gsoo` | 8521 | coolify-dev.gohorsejobs.com | | Frontend | `ao8g40scws0w4cgo8coc8o40` | 3000 | local.gohorsejobs.com | | Backoffice | `hg48wkw4wggwsswcwc8sooo4` | 3001 | backoffice-dev.gohorsejobs.com | | Seeder | `q4w48gos8cgssso00o8w8gck` | 8080 | seeder-dev.gohorsejobs.com | | Database | `bgws48os8wgwk08o48wg8k80` | 5432 | Internal | ### Subdomínios Locais (Cloudflare) 指向 Coolify (185.194.141.70): | Subdomínio | Tipo | UUID App | |------------|------|----------| | local.gohorsejobs.com | A → 185.194.141.70 | Frontend | | api-local.gohorsejobs.com | A → 185.194.141.70 | Backend | | b-local.gohorsejobs.com | A → 185.194.141.70 | Backoffice | | s-local.gohorsejobs.com | A → 185.194.141.70 | Seeder | > **Cloudflare Zone**: gohorsejobs.com (Zone ID: 5e7e9286849525abf7f30b451b7964ac) ### Rodizios Daqui (DEV) | Serviço | UUID | Porta | Domínio | |---------|------|:-----:|---------| | Backend | `ecso4woo4woo0ks84888k8ck` | 8080 | api.rodiziosdaqui.rede5.com.br | | Frontend | `l4g4cc884gc04kg8s480gs48` | 3000 | rodiziosdaqui.rede5.com.br | | Backoffice | `s4kskw08400wcw8g40ossggo` | 8082 | backoffice.rodiziosdaqui.rede5.com.br | | Seeder | `ko0kkw4kw8g80scksg8sk0wc` | 8081 | seeder.rodiziosdaqui.rede5.com.br | > **DNS Zone**: rede5.com.br (Zone ID: 7eb6587a2c867bb9743719a8fabcd455) > **Banco de Dados**: PostgreSQL externo (Absam Cloud) - db-60604.dc-us-1.absamcloud.com:11985 ### Q1Food (DEV) | Serviço | UUID | Porta | Domínio | |---------|------|:-----:|---------| | Backend | `eosgwscc4g044c884k0ws4gc` | 8000 | api-dev.q1food.com | | Frontend | `g8w440g0w0oowo8skss440wk` | 3000 | dev.q1food.com | > **DNS Zone**: q1food.com (Zone ID: 70cdac5cc9787719d548ac6d74c98896) > **Banco de Dados**: Supabase (externo) ## Documentação - [**Resumo de Projetos**](./projetos-resumo.md): Status, URLs, CI/CD e webhooks - [Inventário de Serviços](./services_inventory.md): Tabela completa de apps, bancos, portas e domínios - [API Coolify](./coolify-api.md): Endpoints e comandos da API ## Quick Start ### Deploy Manual via API ```bash # Token de autenticação TOKEN="2|tjaxz6z6osQUz6whMvNMw23kcBqgToQAvMjSLos347164da9" URL="https://redbull.rede5.com.br/api/v1" # Deploy de uma aplicação curl -s -H "Authorization: Bearer $TOKEN" \ "$URL/deploy?uuid=" # Atualizar domínio (requer http:// ou https://) curl -s -X PATCH -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ "$URL/applications/" \ -d '{"domains":"http://local.gohorsejobs.com","instant_deploy":true}' # Listar aplicações curl -s -H "Authorization: Bearer $TOKEN" "$URL/applications" # Ver domínios do servidor curl -s -H "Authorization: Bearer $TOKEN" \ "$URL/servers/m844o4gkwkwcc0k48swgs8c8/domains" ``` ### Cloudflare DNS ```bash # Token em ~/.ssh/cloudflare-token export CF_AUTH_EMAIL="yamamoto@rede5.com.br" export CF_AUTH_KEY="5dcfd89a9d4ec330dede0d4074a518f26818e" export CF_ZONE_ID="5e7e9286849525abf7f30b451b7964ac" # Listar DNS records curl -s -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" \ "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records" # Criar DNS record curl -s -X POST -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" \ -H "Content-Type: application/json" \ "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records" \ -d '{"type":"A","name":"novo-dominio.gohorsejobs.com","content":"185.194.141.70","proxied":false}' # Limpar cache curl -s -X DELETE -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" \ -H "Content-Type: application/json" \ "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/purge_cache" \ -d '{"purge_everything":true}' ``` ### CI/CD Automático via Webhook do Coolify O Coolify recebe webhooks do GitHub para deploy automático. Configure no repositório GitHub (Settings → Webhooks): | App | Webhook URL | Secret | |-----|-------------|--------| | Backend | `https://redbull.rede5.com.br/api/v1/webhooks/deploy?uuid=iw4sow8s0kkg4cccsk08gsoo` | `oRTKAwXgHrIzIcXdVqa7BXPkzXVQAhwS` | | Frontend | `https://redbull.rede5.com.br/api/v1/webhooks/deploy?uuid=ao8g40scws0w4cgo8coc8o40` | `H3CfQuM9Jnpv9Tl37WKupEMlaaIWFlU5` | | Backoffice | `https://redbull.rede5.com.br/api/v1/webhooks/deploy?uuid=hg48wkw4wggwsswcwc8sooo4` | `wvREqj94RRX60113cYb2nMCZf0pmg662` | | Seeder | `https://redbull.rede5.com.br/api/v1/webhooks/deploy?uuid=q4w48gos8cgssso00o8w8gck` | `sa08PAj2RwyjW5VNmqKX0Ac9s7zIMyH2` | Configuração do webhook no GitHub: - Payload URL: URL do webhook acima - Content type: `application/json` - Secret: webhook secret da app - Events: `Push events` (branch `dev`) ## Acesso SSH ```bash # Conexão SSH ssh redbull # Verificar containers docker ps --format 'table {{.Names}}\t{{.Status}}' # Logs do Coolify docker logs coolify -f ``` ## Boas Práticas 1. **Variáveis de Ambiente**: Configure todas as variáveis antes do deploy 2. **Bancos de Dados**: Utilize o PostgreSQL gerenciado ou bancos externos 3. **Logs**: Monitore os logs após cada deploy 4. **Webhooks**: Mantenha os secrets seguros ## Comparação com Outros Servidores | Servidor | Uso | Plataforma | |----------|-----|------------| | **Redbull** | Desenvolvimento (DEV) | Coolify | | **Vim** | Produção | Dokku | | **Apolo** | Kubernetes | K3s |