# 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 # Ponto de extensão (#2724), a MESMA da variante normal: arquivos .caddy # soltos nesta pasta local são importados pelo fim do Caddyfile do modo # single-server. A pasta não é versionada, então publicar outro serviço # não mexe em arquivo do repositório nem trava a atualização. - ./caddy-sites:/etc/caddy/sites: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: {} # A rede dos serviços extras de caddy-sites/ (#2724), a mesma da base. caddy-sites: {} networks: supabase_private: external: true name: ${SINGLE_SERVER_NETWORK:-deskcomm_single_server}