Tema
Erros Comuns
Problemas frequentes e como resolver.
Frontend não carrega / Clerk quebra
Sintoma: Login não funciona, erro 401 ou tela em branco após login.
Causa mais comum: Frontend foi subido sem o NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY correto embutido no build.
Solução: Nunca subir o frontend com docker compose manual. Usar sempre:
bash
bash deploy.sh frontendO script busca a chave do Azure Key Vault antes de buildar.
Backend não responde / 502
Sintoma: apicrm.galdix.com.br retorna 502 ou não responde.
Checklist:
- Containers rodando?
docker ps | grep crm-galdix - Backend healthy?
curl http://localhost:3001/health - Traefik configurado? Os 3 arquivos docker-compose foram usados no deploy?
bash
# Ver logs do backend
docker logs crm-galdix-backend-1 --tail 50
# Ver logs do Traefik
docker logs traefik --tail 20Sync ERP parado / dados desatualizados
Sintoma: Clientes/vendas do ERP não aparecem ou estão desatualizados.
Verificar:
bash
# Ver jobs na fila
curl http://localhost:3001/admin/queue/status -H "Authorization: Bearer ..."
# Ver logs de sync
docker logs crm-galdix-backend-1 --tail 100 | grep -i syncCausa comum: DISABLE_SYNC_CRON=true no ambiente ou lock travado no Redis.
Limpar lock manualmente:
bash
docker exec crm-galdix-redis-1 redis-cli -a <REDIS_PASSWORD> DEL "sync:lock:*"Mensagens WhatsApp não chegam
Sintoma: Campanha enviada mas cliente não recebe.
Verificar em ordem:
- Template aprovado pela Meta? Status no banco:
status = 'APPROVED' - Número do cliente tem
whatsappOptOut = false? - Número tem formato correto? Deve ser
55XXXXXXXXXXX - Fila
whatsapp-sendcom erros? Ver BullBoard em/admin/queues - Access token do WhatsApp ainda válido? Tokens Meta expiram periodicamente.
Business hours não funcionam
Sintoma: Clientes recebem atendimento fora do horário ou agentes não são deslogados.
Causa: Flags do Redis podem estar inconsistentes.
Verificar:
bash
# Ver flags ativas
docker exec crm-galdix-redis-1 redis-cli -a <REDIS_PASSWORD> KEYS "bh:*"
# Ver logs do cron
docker logs crm-galdix-backend-1 --tail 100 | grep -i "business-hours"Migration falhou / banco inconsistente
Sintoma: Backend não sobe, erro de Prisma sobre migrations.
Solução:
bash
cd backend
# Ver status das migrations
npx prisma migrate status
# Aplicar migrations pendentes
npx prisma migrate deploy
# Em último caso (APENAS em dev), resetar:
npx prisma migrate reset # ⚠️ Apaga todos os dadosRedis sem conexão
Sintoma: Erros de ECONNREFUSED 6379 nos logs.
Causa: Senha incorreta ou container não subiu.
bash
# Testar conexão
docker exec crm-galdix-redis-1 redis-cli -a <REDIS_PASSWORD> ping
# Deve retornar: PONGMinIO inacessível / upload falha
Sintoma: Upload de imagens de template falha.
bash
# Verificar se MinIO está rodando
docker ps | grep minio
# Testar acesso
curl http://localhost:9000/minio/health/liveTraefik perdeu o roteamento
Sintoma: 404 em todos os endpoints após restart.
Causa: Docker Compose foi executado sem o arquivo de labels.
Solução: Sempre usar os 3 arquivos:
bash
# ❌ ERRADO
docker compose up -d
# ✅ CORRETO
bash deploy.sh
# ou
/usr/bin/docker compose -p crm-galdix \
-f docker-compose.yml \
-f docker-compose.override.yml \
-f docker-compose.labels.yml \
up -d --force-recreate