# Chatterbox Turbo stack tunables. Copy to `.env` on irv-ml1 before
# deploying.

# ── build pin ────────────────────────────────────────────────────────
# SHA of devnen/Chatterbox-TTS-Server. Bump + rebuild when you want
# upstream wrapper updates. Use the FULL 40-char SHA — docker buildx's
# git source resolver doesn't accept short hashes. Pinning to a SHA
# (rather than `main`) protects against upstream churn — the previous
# `main` value broke when devnen restructured docker/ paths in repo.
CHATTERBOX_SHA=68213e75c248f4f4bbd185f7c20ec02722fdc79b

# Local image tag — bump when you change build context to force a
# fresh layer build.
CHATTERBOX_TAG=v1

# ── network ──────────────────────────────────────────────────────────
# Host port. Container listens on 8004 internally.
# Reserved on irv-ml1: 8188 ComfyUI, 8190 CosyVoice, 8191 Qwen3-TTS,
# 8192 IndexTTS-2, 8193 Kokoro, 8194 VibeVoice, 8765 Parakeet.
# 8196 picked here.
CHATTERBOX_PORT=8196

# Bind address. 0.0.0.0 exposes on all interfaces (incl. WG tunnel
# interface 10.100.79.3); 127.0.0.1 restricts to local-only.
CHATTERBOX_BIND=0.0.0.0

# ── runtime / GPU ────────────────────────────────────────────────────
# Devices visible inside the container. "0" pins to the RTX 3090.
# Chatterbox Turbo is small (~2.5 GB fp16) — the 3090 is plenty.
CHATTERBOX_GPU_DEVICES=0

# Model checkpoint. Options:
#   ResembleAI/chatterbox-turbo         — flagship Turbo, 350M, EN-only,
#                                         ~2.5 GB fp16, ~75 ms latency
#   ResembleAI/chatterbox               — base Chatterbox, 500M, EN-only,
#                                         ~3.5 GB fp16, slower but with
#                                         exaggeration/CFG-weight knobs
#   ResembleAI/chatterbox-multilingual  — 23 languages, slower than Turbo
CHATTERBOX_MODEL_REPO=ResembleAI/chatterbox-turbo

# ── persistent storage on the host ───────────────────────────────────
# Reference audio dir for voice cloning. Drop short (~5 s) reference
# WAVs in here; the wrapper picks them up by filename. Cloned voices
# need the original reference to recreate — included in restic.
CHATTERBOX_REFERENCE_DIR=/worktank/chatterbox/reference_audio

# HuggingFace cache — Chatterbox Turbo weights (~6 GB) land here on
# first start. Bind-mounted so they survive container recreate.
# Excluded from restic (regenerable from HF).
CHATTERBOX_CACHE_DIR=/worktank/chatterbox/cache

# Optional: mount a host config.yaml for hot-edit. Leave commented
# out in compose.yaml unless you actively want this.
# CHATTERBOX_CONFIG=/worktank/chatterbox/config.yaml
