infracloud/vps/redbull/services_inventory.md

13 KiB

Inventário de Serviços Redbull

Última atualização: 2026-02-26 — Audit completo via Coolify API + SSH


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)

Aplicação UUID Domínio Branch CI/CD Status
backend-dev h8kkc0gw04sow8oo08ccg00s sslip.io (sem domínio) main Sem webhook Exited
backend-hml bk0kcosgo0s8cogww8s4so0w sslip.io (sem domínio) main Sem webhook Exited
frontend-dev wwgccg0o8g4ogowgowcw4gcg sslip.io (sem domínio) main Sem webhook Exited
frontend-hml es0gg4gokssw8c88o4kg0c08 sslip.io (sem domínio) main Sem webhook Exited

Repo: rede5/q1-agenda-backend.git / rede5/q1-agenda-frontend.git (GitHub App) Issues: Sem domínio configurado, sem CI/CD, todos parados. Precisam de revisão/limpeza.


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
gohorsejobs-frontend-dev sowwg0scwkwooog0kggsosso sslip.io (sem domínio) dev Sem webhook Exited

Repo: git@github.com:rede5/gohorsejobs.git Issues: gohorsejobs-frontend-dev duplicata da frontend-local, parada e sem CI/CD — candidata à remoção. Nota: gohorsejobs-backend-local aponta para test2.q1agenda.com.br — revisar domínio.


Rodizios Daqui (DEV)

Aplicação UUID Domínio Branch CI/CD Status
rodiziosdaqui-backend-dev ecso4woo4woo0ks84888k8ck http://api.rodiziosdaqui.rede5.com.br dev GitHub webhook Running
rodiziosdaqui-frontend-dev l4g4cc884gc04kg8s480gs48 http://rodiziosdaqui.rede5.com.br dev GitHub webhook Running
rodiziosdaqui-backoffice-dev s4kskw08400wcw8g40ossggo http://backoffice.rodiziosdaqui.rede5.com.br dev GitHub webhook Running
rodiziosdaqui-seeder-dev ko0kkw4kw8g80scksg8sk0wc http://seeder.rodiziosdaqui.rede5.com.br dev GitHub webhook Healthy

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)

Aplicação UUID Domínio Branch CI/CD Status
sextando-backend h8c4sg0sg80c4o8kkcw4ogcg https://api-dev.sextando.com.br dev Sem webhook Exited
sextando-backoffice nsc0gw0og40g0c88soc0o0wc https://backoffice-dev.sextando.com.br dev Sem webhook Exited
sextando-frontend vggkcs880o8go0ws84wcggco https://dev.sextando.com.br dev Sem webhook Running

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) — DUPLICATAS ⚠️

UUID Repo Configurado CI/CD Status
js8kkwgk8scwg0c4s44wc48s git@forgejo.redbull:rede5/obramarket.git Exited
ws08owk8ocog0gswg8ogo8c4 git@github.com:rede5/obramarket.git Exited
ywk4w0o88ww0400s0gwogkw8 rede5/obramarket.git (incompleto) Exited
v44kk8s0cg8w4wgwoc0cc88w http://10.0.1.9:3001/rede5/obramarket.git (IP interno) Exited

Ação necessária: 4 instâncias duplicadas do mesmo backend, todas com repos diferentes e sem CI/CD. Remover 3, manter apenas a que usar GitHub.


Resumo de Status

Projeto Rodando Parado CI/CD
Q1Agenda 0 4 Nenhum
GoHorse Jobs 4 1 4 de 5
Rodizios Daqui 4 0 Todos
Q1Food 1 1 Ambos configurados
Sextando 1 2 Nenhum
ObraMarket 0 4 Nenhum
Total 10 12

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-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 q1food-backend: falta env vars SUPABASE_URL, SUPABASE_KEY, SUPABASE_ANON_KEY 🔴 Alta Configurar no Coolify Dashboard → App → Environment Variables
2 ObraMarket: 4 apps duplicadas, repos inconsistentes, todas paradas 🔴 Alta Remover 3, manter a que usar GitHub (ws08owk8ocog0gswg8ogo8c4)
3 Q1Agenda: 4 apps sem CI/CD e paradas — sem domínio real 🟡 Média Configurar webhook ou remover se projeto inativo
4 Sextando: nenhum app tem webhook CI/CD 🟡 Média Configurar webhook GitHub para todos (ver URLs abaixo)
5 gohorsejobs-frontend-dev: duplicata parada sem CI/CD 🟡 Média Remover do Coolify
6 SSH hostname bloqueado — porta 22 inacessível via redbull.rede5.com.br 🟡 Média Cloudflare bloqueia porta 22 — SSH config usa IP 185.194.141.70
7 gohorsejobs-backend-local usa domínio test2.q1agenda.com.br — parece errado 🟢 Baixa Revisar domínio para api-local.gohorsejobs.com

q1food-backend — Env Vars necessárias

# Configurar no Coolify → App q1food-backend-dev → Environment Variables
SUPABASE_URL=https://xxxxx.supabase.co
SUPABASE_KEY=eyJhbGci...  # Service role key
SUPABASE_ANON_KEY=eyJhbGci...  # Anon public key

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"