mcspeak/docker-compose.yml
Ryan Malloy 4698d8b0d2 Lazy-load SNAC decoder to reduce idle memory
SNAC + torch no longer load at startup — deferred to first Orpheus
call via double-checked locking. Startup drops from ~13s to 0.5s,
idle RAM reduced by ~200MB. OrpheusEngine constructor no longer
takes snac_model; it self-loads on demand.
2026-02-21 13:04:35 -07:00

37 lines
1005 B
YAML

services:
tts-mcp:
build: .
container_name: tts-mcp
restart: unless-stopped
env_file: .env
environment:
# Override for Docker networking (container DNS instead of IPs)
TTS_PIPER_HOST: piper-tts
TTS_OLLAMA_URL: http://host.docker.internal:11434
# PipeWire client config
XDG_RUNTIME_DIR: /run/user/1000
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
# Kokoro ONNX models (read-only)
- ./models:/app/models:ro
# HuggingFace cache for SNAC model download (lazy-loaded on first Orpheus call)
- hf-cache:/home/tts/.cache/huggingface
# PipeWire socket for audio playback through host speakers
- /run/user/1000/pipewire-0:/run/user/1000/pipewire-0
networks:
- caddy
- dootie-internal
labels:
caddy: voice.l.supported.systems
caddy.reverse_proxy: "{{upstreams 8371}}"
volumes:
hf-cache:
networks:
caddy:
external: true
dootie-internal:
external: true