← Voltar ao Hub

🔧 FIX RÁPIDO - Erros Atuais

❌ Erros Identificados

1. bubble-detector-worker exited with code 2
2. SQLAlchemy CREATE DATABASE error
3. CREATE EXTENSION error

✅ Solução Imediata

Opção 1: Remover Worker e DB (Recomendado)

1. Parar tudo

docker-compose down -v

2. Usar compose mínimo

cp docker-compose-minimal.yml docker-compose.yml

3. Subir apenas API + Frontend

docker-compose up -d

4. Testar

curl http://localhost:8000/health

Opção 2: Comentar Serviços no docker-compose.yml Atual

Comentar estas linhas:

worker:

...

beat:

...

db:

...

redis:

...

Opção 3: Fix do PostgreSQL (se quiser manter)

Problema: CREATE DATABASE dentro de transação Fix em backend_api.py:

ANTES (errado):

engine = create_engine(DATABASE_URL) Base.metadata.create_all(bind=engine)

DEPOIS (correto):

from sqlalchemy.pool import NullPool engine = create_engine( DATABASE_URL, poolclass=NullPool, isolation_level="AUTOCOMMIT" # Fix para CREATE DATABASE )
Fix em init.sql:
-- Remover CREATE DATABASE (já existe)
-- CREATE DATABASE bubbledb;  <-- COMENTAR

-- Apenas criar extensões e tabelas
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE TABLE IF NOT EXISTS bubble_metrics (...);

🚀 Ordem de Startup Correta

docker-compose.yml

services: db: # ... healthcheck: test: ["CMD-SHELL", "pg_isready -U bubbleuser"] interval: 5s timeout: 5s retries: 5 api: depends_on: db: condition: service_healthy # Espera DB estar pronto

📋 Checklist de Troubleshooting

1. Verificar Logs

docker-compose logs api
docker-compose logs db
docker-compose logs worker

2. Verificar Portas

netstat -an | grep 8000  # API
netstat -an | grep 5432  # PostgreSQL
netstat -an | grep 6379  # Redis

3. Verificar Conexão DB

docker exec -it bubble-detector-db psql -U bubbleuser -d bubbledb

4. Rebuild Limpo

docker-compose down -v
docker system prune -a
docker-compose build --no-cache
docker-compose up -d

🎯 Stack Recomendado por Fase

Phase 1: MVP (SEM ERROS)

✅ API (FastAPI)
✅ Frontend (Nginx)
❌ PostgreSQL (remover)
❌ Redis (remover)
❌ Workers (remover)

Phase 2: Com Cache

✅ API
✅ Frontend
❌ PostgreSQL (ainda não)
✅ Redis (apenas cache)
❌ Workers (ainda não)

Phase 3: Completo

✅ API
✅ Frontend
✅ PostgreSQL
✅ Redis
✅ Workers + Beat

💡 Dicas

1. Sempre use healthchecks em depends_on 2. Não crie DB via SQLAlchemy (criar manualmente ou via init.sql) 3. Workers precisam de Celery configurado (ou remover) 4. Use AUTOCOMMIT para DDL statements

🔍 Verificação Final

1. Serviços rodando?

docker-compose ps

2. API respondendo?

curl http://localhost:8000/health

3. Frontend acessível?

curl http://localhost:3000

4. Logs sem erros?

docker-compose logs --tail=50

⚡ Quick Fix Commands

Remove tudo e recomeça limpo

docker-compose down -v && \ docker system prune -af && \ cp docker-compose-minimal.yml docker-compose.yml && \ docker-compose up -d

Esperar 10s

sleep 10

Testar

curl http://localhost:8000/health

---

Resumo: Use docker-compose-minimal.yml para começar. Adicione complexidade depois.
← Voltar ao Hub de Documentação