infracloud/vps/redbull/README.md
Tiago Yamamoto 01b4005e32 Atualiza infraestrutura: remove K3s/Apolo/NC1, consolida Redbull como servidor principal
- Remove clusters K3s (Zeus, Posseidon) e VPS Apolo/NC1
- Atualiza URL do Coolify para https://redbull.rede5.com.br
- Adiciona CONNECTIONS.md com documentacao completa de conexoes
- Atualiza SSH config removendo hosts obsoletos
- README simplificado com apenas Redbull e Vim
2026-02-17 15:31:29 -06:00

145 lines
5.3 KiB
Markdown

# 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 |
| **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
## Documentação
- [Inventário de Serviços](./services_inventory.md): Tabela completa de apps, bancos, portas e domínios
- [Guia de Deploy](./deployment_guide.md): Instruções passo a passo para deployment e manutenção
## 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=<APP_UUID>"
# Atualizar domínio (requer http:// ou https://)
curl -s -X PATCH -H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
"$URL/applications/<UUID>" \
-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
Os webhooks GitHub estão configurados para deploy automático:
- Push na branch `dev` → Deploy automático no Coolify
- URL do webhook: `https://redbull.rede5.com.br/api/v1/webhook/github?uuid=<APP_UUID>&secret=<SECRET>`
## 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 |