# CosyVoice stack tunables. Copy to `.env` on irv-ml1 before deploying.
#
#   cp .env.example .env
#   # edit as needed
#   docker compose up -d

# Image tag. `v1.3.2` (2026-01-18) is the latest wrapper and ships
# Fun-CosyVoice3-0.5B-2512 (CosyVoice 3 model). The older `v3.x`
# tag family (2025-12-18) also ships CosyVoice 3 — the wrapper
# version numbering diverged from the model version, which is
# confusing but deliberate upstream. Stay on v1.3.x.
#
# See https://hub.docker.com/r/neosun/cosyvoice/tags for updates.
COSYVOICE_VERSION=v1.3.2

# Host port for the web UI + REST API (container listens on 8188).
# Avoiding 8188 on the host since ComfyUI already has it.
COSYVOICE_PORT=8190

# Bind address. 0.0.0.0 exposes on all interfaces including the WG
# tunnel IP (10.100.79.3). Use 127.0.0.1 to restrict to local-only.
COSYVOICE_BIND=0.0.0.0

# Path inside the container for the active model. The image places
# Fun-CosyVoice3-0.5B at pretrained_models/Fun-CosyVoice3-0.5B on
# first run — keep this default unless upstream ships alternate
# model variants.
COSYVOICE_MODEL_DIR=pretrained_models/Fun-CosyVoice3-0.5B

# Seconds of idleness before the server releases GPU VRAM. Reloading
# takes a few seconds; trade off fast re-use vs sharing GPUs with
# other workloads (llama-swap style). Default 600 (10 min).
COSYVOICE_GPU_IDLE_TIMEOUT=600

# Host paths for persistent data. Must exist and be writable by the
# container before first `up`.
#   voices/  cloned speaker profiles — precious, restic-covered
#   input/   uploaded source audio   — scratch
#   output/  synthesized clips       — scratch, regenerable
COSYVOICE_VOICES_DIR=/worktank/cosyvoice/voices
COSYVOICE_INPUT_DIR=/worktank/cosyvoice/input
COSYVOICE_OUTPUT_DIR=/worktank/cosyvoice/output
