Files
esh-pfi-infrastructure/stacks/zonos-gateway/compose.yaml
T
vh ba0ec64ac3 docs(zonos-gateway): capture the live :8890 gateway stack + emotion-preset system
Captures the production Zonos TTS path that the repo was blind to: stock ZONOS2
:1920 engine (stacks/zonos-engine) fronted by zonos-gateway:0.2.0 :8890, reached
via the LiteLLM ext-tts alias. Documents the emotion-preset system (neutral/warm/
excited/sad/intense/whisper, the simple preset: caller path), the API, and the
measured real-time cost (calibrated steering free at RTF~0.52, cfg1.5 ~0.625 —
still realtime). Flags the gateway source (~/zonos-gateway on irv-ml1) as not yet
in gitea. Marks stacks/zonos (v0.1 Gradio) dead/superseded. Records the emotion-
lever finding (text-priming flat -> native steering works) in persistent memory.
2026-07-17 15:56:11 -07:00

30 lines
1.2 KiB
YAML

# zonos-gateway — deploys on irv-ml1 next to the Zonos server.
# Follows the fleet convention: /opt/docker/compose/zonos-gateway/compose.yaml,
# tunables in an adjacent .env (this file stays constant).
services:
zonos-gateway:
build: .
image: zonos-gateway:0.2.0
container_name: zonos-gateway
restart: unless-stopped
# Colocated with Zonos: reach the host's :1920 from inside the container.
# host-gateway resolves host.docker.internal to the host's bridge IP.
extra_hosts:
- "host.docker.internal:host-gateway"
environment:
# Default targets the Zonos server on the same host. For a non-colocated
# or dev target, override in .env (e.g. ZONOS_URL=http://10.100.79.3:1920).
ZONOS_URL: ${ZONOS_URL:-http://host.docker.internal:1920}
PORT: ${PORT:-8890}
DEFAULT_VOICE: ${DEFAULT_VOICE:-Cora}
VOICES_DIR: /app/voices
REQUEST_TIMEOUT_S: ${REQUEST_TIMEOUT_S:-600}
ports:
- "${PORT:-8890}:8890"
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request,sys; sys.exit(0 if urllib.request.urlopen('http://127.0.0.1:8890/health', timeout=5).status==200 else 1)"]
interval: 30s
timeout: 8s
retries: 3
start_period: 15s