Inventário de Serviços Redbull
Última atualização: 2026-02-28 — Limpeza de duplicatas + fixes de repo + deploy q1food
Visão Geral
Servidor Redbull (185.194.141.70) gerenciado pelo Coolify v4. Proxy reverso: Traefik.
SSH: Conexão funciona via IP diretamente (ssh redbull → aponta para 185.194.141.70:22).
⚠️ redbull.rede5.com.br está atrás do Cloudflare — porta 22 bloqueada. SSH usa IP direto.
Aplicações — Status Completo
Q1 Agenda (DEV / HML)
Repo backend: git@github.com:rede5/q1agenda-backend.git (branch dev/hml)
Repo frontend: git@github.com:rede5/q1-agenda-frontend.git
Fix 2026-02-28: Repo URL corrigido (q1-agenda-backend → q1agenda-backend), duplicata sslip deletada, envs Appwrite base adicionados.
Pendente: APPWRITE_PROJECT_ID, APPWRITE_API_KEY, SECURITY_API_KEY, JWT_SECRET — preencher no Coolify Dashboard antes de deployar.
GoHorse Jobs (LOCAL / DEV)
| Aplicação |
UUID |
Domínio |
Branch |
CI/CD |
Status |
| gohorsejobs-backend-local |
iw4sow8s0kkg4cccsk08gsoo |
https://test2.q1agenda.com.br |
dev |
✅ GitHub webhook |
✅ Running |
| gohorsejobs-frontend-local |
ao8g40scws0w4cgo8coc8o40 |
https://local.gohorsejobs.com |
dev |
✅ GitHub webhook |
✅ Running |
| gohorsejobs-backoffice-local |
hg48wkw4wggwsswcwc8sooo4 |
https://b-local.gohorsejobs.com |
dev |
✅ GitHub webhook |
✅ Running |
| gohorsejobs-seeder-local |
q4w48gos8cgssso00o8w8gck |
https://s-local.gohorsejobs.com |
dev |
✅ GitHub webhook |
✅ Healthy |
Repo: git@github.com:rede5/gohorsejobs.git |
|
|
|
|
|
Fix 2026-02-28: gohorsejobs-frontend-dev (sslip.io, sem domínio, sem envs) deletada — duplicata da frontend-local. |
|
|
|
|
|
Nota: gohorsejobs-backend-local aponta para test2.q1agenda.com.br — revisar domínio. |
|
|
|
|
|
Rodizios Daqui (DEV)
Repo: git@github.com:rede5/rodiziosdaqui.git
Projeto mais completo e estável — todos rodando com CI/CD configurado.
Q1 Food (DEV)
| Aplicação |
UUID |
Domínio |
Branch |
CI/CD |
Status |
| q1food-backend-dev |
eosgwscc4g044c884k0ws4gc |
http://api-dev.q1food.com |
dev |
✅ GitHub webhook |
❌ Exited |
| q1food-frontend-dev |
g8w440g0w0oowo8skss440wk |
http://dev.q1food.com |
dev |
✅ GitHub webhook |
✅ Running |
Repos: rede5/food-backend.git / rede5/food-frontend.git
Issues: Backend parado desde 18/02. CI/CD configurado mas deploy falhou.
Sextando (DEV)
Repo: git@github.com:rede5/sextando.git
Build: Frontend usa nixpacks, backend/backoffice usam dockerfile
Issues: Nenhum dos 3 tem webhook CI/CD. Backend e backoffice parados.
ObraMarket (DEV)
| Aplicação |
UUID |
Domínio |
Branch |
CI/CD |
Status |
| obramarket-backend-dev |
ws08owk8ocog0gswg8ogo8c4 |
sslip.io (sem domínio próprio) |
main |
❌ Sem webhook |
❌ Exited |
Repo: git@github.com:rede5/obramarket.git
Fix 2026-02-28: 3 duplicatas deletadas (forgejo, IP interno, URL inválida). Envs base adicionados (SERVER_PORT, DB_PORT, etc.).
Pendente: DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, JWT_SECRET, PEPPER_SECRET, ADMIN_EMAIL, ADMIN_PASSWORD, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY — preencher no Coolify + configurar domínio próprio.
Resumo de Status
| Projeto |
Rodando |
Parado |
CI/CD |
Apps Total |
| Q1Agenda |
2 |
2 |
❌ Nenhum |
4 |
| GoHorse Jobs |
4 |
0 |
✅ Todos |
4 |
| Rodizios Daqui |
4 |
0 |
✅ Todos |
4 |
| Q1Food |
1 |
1 🔄 |
✅ Ambos |
2 |
| Sextando |
3 |
0 |
❌ Nenhum |
3 |
| ObraMarket |
0 |
1 |
❌ Nenhum |
1 |
| Q1Total |
1 |
0 |
✅ |
1 |
| Q1Site |
1 |
0 |
✅ |
1 |
| SaveInMed |
2 |
0 |
✅ |
2 |
| Total |
18 |
4 |
|
22 |
🔄 q1food-backend em deploy após refactor Supabase → PostgreSQL (2026-02-28)
Bancos de Dados (Databases)
| Serviço |
UUID |
DB |
Apps Vinculados |
Status |
| gohorsejobs-dev |
bgws48os8wgwk08o48wg8k80 |
PostgreSQL 16 |
gohorsejobs-* |
✅ Healthy (10d) |
| rodiziosdaqui-dev |
e8ogwk008c8s8sok8wc00ow0 |
PostgreSQL 16 |
rodiziosdaqui-* |
✅ Healthy (10d) |
| q1food-dev |
vskkccs8880cg0ggckccsgww |
PostgreSQL |
q1food-* |
✅ Healthy (8d) |
| vaultwarden-db |
sg0co4s44cs48o4kc4cgg844 |
PostgreSQL |
Vaultwarden |
✅ Healthy (8d) |
| bookstack-db |
mariadb-ogs4okgoosk48cswoo0s4k84 |
MariaDB |
BookStack |
✅ Up (3d) |
Serviços (Coolify Services)
| Serviço |
Domínio |
Status |
BookStack (ogs4okgoosk48cswoo0s4k84) |
https://docs.rede5.com.br |
✅ Running (3d) |
Vaultwarden (h8wg0gogw44swosgk8wgc8cs) |
https://vault.rede5.com.br |
✅ Healthy |
Forgejo (zskgc8sck4w8g8w0o4w44o40) |
pipe.gohorsejobs.com |
⚠️ API=exited, Docker=Up 9d |
Supabase (hk0ogck8w0co0skc0c8g0ss0) |
- |
❌ Exited |
Infraestrutura Coolify (containers internos)
| Container |
Status |
| coolify |
✅ Up 9d (healthy) |
| coolify-proxy (Traefik) |
✅ Up 9d (healthy) |
| coolify-db |
✅ Up 10d (healthy) |
| coolify-redis |
✅ Up 10d (healthy) |
| coolify-realtime |
✅ Up 10d (healthy) |
| coolify-sentinel |
✅ Up 20h (healthy) |
Conectividade SSH
| Método |
Status |
Observação |
ssh redbull (via IP 185.194.141.70:22) |
✅ OK |
Funciona |
ssh root@redbull.rede5.com.br (port 22) |
❌ Timeout |
Cloudflare bloqueia porta 22 |
Coolify API (https://redbull.rede5.com.br) |
✅ OK |
Via Traefik HTTPS |
Coolify API (http://185.194.141.70:8000) |
✅ OK |
Acesso direto |
SSH Config: ~/.ssh/config usa HostName 185.194.141.70 (IP direto).
Webhooks CI/CD
GoHorse Jobs (rede5/gohorsejobs → branch dev)
| App |
Webhook URL |
| Backend |
https://redbull.rede5.com.br/api/v1/webhook/github?uuid=iw4sow8s0kkg4cccsk08gsoo |
| Frontend |
https://redbull.rede5.com.br/api/v1/webhook/github?uuid=ao8g40scws0w4cgo8coc8o40 |
| Backoffice |
https://redbull.rede5.com.br/api/v1/webhook/github?uuid=hg48wkw4wggwsswcwc8sooo4 |
| Seeder |
https://redbull.rede5.com.br/api/v1/webhook/github?uuid=q4w48gos8cgssso00o8w8gck |
Rodizios Daqui (rede5/rodiziosdaqui → branch dev)
| App |
Webhook URL |
| Backend |
https://redbull.rede5.com.br/api/v1/webhook/github?uuid=ecso4woo4woo0ks84888k8ck |
| Backoffice |
https://redbull.rede5.com.br/api/v1/webhook/github?uuid=s4kskw08400wcw8g40ossggo |
| Frontend |
https://redbull.rede5.com.br/api/v1/webhook/github?uuid=l4g4cc884gc04kg8s480gs48 |
| Seeder |
https://redbull.rede5.com.br/api/v1/webhook/github?uuid=ko0kkw4kw8g80scksg8sk0wc |
Q1Food (rede5/food-* → branch dev)
| App |
Webhook URL |
| Backend |
https://redbull.rede5.com.br/api/v1/webhook/github?uuid=eosgwscc4g044c884k0ws4gc |
| Frontend |
https://redbull.rede5.com.br/api/v1/webhook/github?uuid=g8w440g0w0oowo8skss440wk |
Secrets dos webhooks: ver services_inventory.md seção anterior ou Coolify Dashboard.
Portas do Sistema
| Porta |
Serviço |
| 22 |
SSH (acesso via IP direto) |
| 80 |
Traefik HTTP |
| 443 |
Traefik HTTPS |
| 8000 |
Coolify Dashboard |
| 22222 |
Forgejo SSH |
| 3000 |
Frontends (Next.js) |
| 3001 |
Backoffice |
| 8080 |
Backends (Go) |
| 8081 |
Seeders |
| 8521 |
GoHorse Backend |
Fixes Aplicados
2026-02-28
| App |
Problema |
Fix |
Status |
| q1food-backend |
Migração Supabase → PostgreSQL incompleta (app crashava no startup) |
19 arquivos reescritos via GitHub API (branch dev): config, database, 7 models, 6 services, migrations/init.sql + Dockerfile uploads dir + fix postgres:// → ✅ Running |
✅ OK |
| q1agenda-backend (dev+hml) |
Repo URL errado (q1-agenda-backend → q1agenda-backend), duplicata sslip.io, sem envs |
PATCH Coolify repo URL, branch dev/hml, DELETE duplicata, envs Appwrite base adicionados |
⚠️ Aguarda credenciais |
| obramarket-backend |
4 duplicatas com repos inconsistentes (forgejo, IP, inválido, github) |
DELETE 3 duplicatas, envs base adicionados |
⚠️ Aguarda credenciais DB |
| gohorsejobs-frontend-dev |
Duplicata sem domínio/envs (sslip.io) da frontend-local |
DELETE do Coolify |
✅ Limpo |
2026-02-26
| App |
Problema |
Fix |
Status |
| q1food-backend |
Submodulo .gitmodules auto-referenciando o próprio repo via HTTPS |
Deletado .gitmodules via GitHub API (commit 432e07d) |
✅ Build OK |
| sextando-backend |
schema.sql não copiado para container final (multi-stage) |
Adicionado COPY --from=builder /app/internal/database/schema.sql no Dockerfile (commit 61d6b98) |
✅ UP |
| sextando-backend |
base_directory=/ causava contexto errado (Go files em /backend/) |
PATCH Coolify: base_directory=/backend, dockerfile=/Dockerfile |
✅ Fixado |
| sextando-backoffice |
base_directory=/ contexto errado (prisma/ não encontrado) |
PATCH Coolify: base_directory=/backoffice, dockerfile=/Containerfile |
✅ Fixado |
| sextando-backoffice |
Containerfile usava npm ci sem package-lock.json (projeto usa pnpm) |
Trocado para npm install (commit 84ca0d7) |
✅ Build OK |
| sextando-backoffice |
dist/main não encontrado — tsconfig.json sem rootDir → saída em dist/src/main. Prisma sem DATABASE_URL |
CMD → node dist/src/main + openssl no final stage + DATABASE_URL configurada |
✅ UP |
Issues Pendentes (Ação Manual Necessária)
| # |
Problema |
Severidade |
Ação |
| 1 |
q1agenda-backend (dev+hml): faltam credenciais Appwrite |
🔴 Alta |
Coolify → App → Envs: APPWRITE_PROJECT_ID, APPWRITE_API_KEY, SECURITY_API_KEY, JWT_SECRET → Deploy |
| 2 |
obramarket-backend: faltam credenciais DB + S3 + JWT |
🔴 Alta |
Coolify → App → Envs: DB_HOST/USER/PASSWORD/NAME, JWT_SECRET, PEPPER_SECRET, AWS_ACCESS_KEY_ID/SECRET → Deploy |
| 3 |
obramarket-backend: sem domínio próprio (sslip.io) |
🟡 Média |
Coolify UI → App → Domains → adicionar api-dev.obramarket.com.br |
| 4 |
Sextando: nenhum app tem webhook CI/CD |
🟡 Média |
Configurar webhook GitHub para todos (ver URLs abaixo) |
| 5 |
SSH hostname bloqueado — porta 22 inacessível via redbull.rede5.com.br |
🟢 Baixa |
Cloudflare bloqueia porta 22 — SSH config usa IP 185.194.141.70 |
| 6 |
gohorsejobs-backend-local usa domínio test2.q1agenda.com.br |
🟢 Baixa |
Revisar domínio para api-local.gohorsejobs.com |
q1agenda-backend — Envs pendentes
APPWRITE_PROJECT_ID=<id_do_projeto_appwrite>
APPWRITE_API_KEY=<api_key_server>
SECURITY_API_KEY=<chave_interna>
JWT_SECRET=<segredo_jwt>
obramarket-backend — Envs pendentes
DB_HOST=<host_postgres>
DB_USER=<usuario>
DB_PASSWORD=<senha>
DB_NAME=obramarket_dev
JWT_SECRET=<segredo>
PEPPER_SECRET=<pepper>
ADMIN_EMAIL=admin@obramarket.com.br
ADMIN_PASSWORD=<senha_inicial>
AWS_ACCESS_KEY_ID=<key>
AWS_SECRET_ACCESS_KEY=<secret>
Sextando — Webhooks CI/CD a configurar no GitHub
# Repositório: github.com/rede5/sextando → Settings → Webhooks
Backend URL: https://redbull.rede5.com.br/api/v1/webhook/github?uuid=h8c4sg0sg80c4o8kkcw4ogcg
Backoffice URL: https://redbull.rede5.com.br/api/v1/webhook/github?uuid=nsc0gw0og40g0c88soc0o0wc
Frontend URL: https://redbull.rede5.com.br/api/v1/webhook/github?uuid=vggkcs880o8go0ws84wcggco
Comandos Rápidos
# SSH (usar IP direto)
ssh redbull
# Ver todos os containers
ssh redbull "docker ps --format 'table {{.Names}}\t{{.Status}}'"
# Ver logs de um app
ssh redbull "docker logs <container_name> --tail 50"
# Coolify API
TOKEN=$(cat ~/.ssh/coolify-redbull-token)
URL="https://redbull.rede5.com.br/api/v1"
# Listar apps com status
curl -s -H "Authorization: Bearer $TOKEN" "$URL/applications" | \
node -e "const c=[]; process.stdin.on('data',d=>c.push(d)); process.stdin.on('end',()=>{ JSON.parse(c.join('')).forEach(a=>console.log(a.status+' | '+a.name+' | '+a.fqdn)); })"
# Deploy por UUID
curl -s -H "Authorization: Bearer $TOKEN" "$URL/deploy?uuid=<UUID>"
# Reiniciar app
curl -s -H "Authorization: Bearer $TOKEN" "$URL/applications/<UUID>/restart"