e0d1c44137
The 2026-09-06 headscale cutover retired irv-ml1's wg0 tunnel IP 10.100.79.3 (now 10.6.110.50). Repointed all LIVE canonical refs to the DNS NAME so the next move can't re-break them: homepage.href/siteMonitor labels across 25 stack composes, load-bearing env defaults (asset-engine INFERENCE_HOST, open-webui AUDIO_TTS_OPENAI_API_BASE_URL, skaldsong SKALDSONG_TTS_BASE_URL, zonos-gateway ZONOS_URL, dia), homepage services.yaml manual cards (Voice Design Studio, IRV-ML1), and servers/irv-ml1/ssh-target. Updated the stale 'WG tunnel' comment to the mesh reality. Left as-is: README curl-examples and .env.example comments (docs), and historical mentions in CLAUDE.md/persistent-memory. NOTE: applying the label repoints to the RUNNING irv-ml1 containers needs a recreate per service (labels read at creation); deployed .env values are separate from these canonical defaults.
35 lines
1.5 KiB
YAML
35 lines
1.5 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://irv-ml1.nh3.internal: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}
|
|
volumes:
|
|
# Host-managed voices (2026-07-17): drop <Name>.wav in ./voices + restart
|
|
# -> selectable as voice:"Name", no image rebuild (matches the registry's
|
|
# filesystem-drop-in design). Emmie added this way.
|
|
- ./voices:/app/voices:ro
|
|
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
|