Files
DeskcommCRM/docker-compose.single-server.yml
T
melgarafaelandClaude Opus 5 86bf29da55 fix(kit): single-server põe worker e voice-agent na rede do banco
No modo single-server o .env do CRM aponta SUPABASE_DB_URL para
supabase-db, apelido que só existe na rede supabase_private. O override
punha só app e caddy nela: o worker (motor do agente de IA e fila de
envio) não resolvia o banco no boot e reiniciava em loop; o voice-agent
teria o mesmo defeito.

O teste de operação agora resolve o compose do CRM com todos os profiles
e exige que todo serviço com SUPABASE_DB_URL=@supabase-db esteja na rede
supabase_private (vermelho antes deste commit: voice-agent e worker).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019G7fFaatqXpzHA77xP9onS
2026-09-22 13:18:31 -03:00

41 lines
1.1 KiB
YAML

# Override do modo single-server: o CRM e o Supabase self-hosted compartilham
# somente uma rede privada. Caddy publica HTTPS; Postgres e Studio ficam fora.
services:
app:
networks:
- internal
- supabase_private
# O worker e o voice-agent leem SUPABASE_DB_URL=...@supabase-db do .env, e
# esse nome só existe na rede supabase_private: fora dela o boot não resolve
# o banco e o serviço reinicia em loop (tests/shell/single-server-operacao).
worker:
networks:
- internal
- supabase_private
voice-agent:
networks:
- internal
- supabase_private
caddy:
volumes:
- ./Caddyfile.single-server:/etc/caddy/Caddyfile:ro
- caddy-data:/data
- caddy-config:/config
networks:
internal:
aliases:
# Faz app, worker e WAHA resolverem o dominio publico para o Caddy
# desta propria stack. O certificado continua valido e nenhuma
# chamada entre os servicos precisa sair da VPS e voltar pelo IP.
- ${DOMAIN}
supabase_private: {}
networks:
supabase_private:
external: true
name: ${SINGLE_SERVER_NETWORK:-deskcomm_single_server}