Skip to content

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 frontend

O 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:

  1. Containers rodando? docker ps | grep crm-galdix
  2. Backend healthy? curl http://localhost:3001/health
  3. 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 20

Sync 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 sync

Causa 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:

  1. Template aprovado pela Meta? Status no banco: status = 'APPROVED'
  2. Número do cliente tem whatsappOptOut = false?
  3. Número tem formato correto? Deve ser 55XXXXXXXXXXX
  4. Fila whatsapp-send com erros? Ver BullBoard em /admin/queues
  5. 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 dados

Redis 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: PONG

MinIO 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/live

Traefik 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

Documentação interna — Galdix CRM