docker-compose.single-server.yml
Rama main · réplica de lectura del repositorio original.
# 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}