Files
esh-pfi-infrastructure/stacks/dia/.env.example
T
vh 666f7f31e0 stacks: add dia + zonos to the TTS bench
dia: Nari Labs dialogue TTS (Dia 1.6B / Dia2-1B / Dia2-2B) via
devnen/Dia-TTS-Server — OpenAI-compat, fills the multi-speaker
dialogue-scene slot for skaldsong. Port 8200 on irv-ml1.

zonos: Zyphra Zonos-v0.1 (Apache-2.0, 44kHz, emotion sliders) via the
official Gradio interface. Audition surface only — no OpenAI-compat
endpoint yet (needs the FastAPI fork to become skaldsong-pluggable).
Port 8199 on irv-ml1.

Both follow the chatterbox/fish-s2 convention: local image built from a
pinned wrapper SHA via buildx git-context, .env-driven port/GPU, python
healthcheck, homepage labels.
2026-05-31 10:53:27 -07:00

57 lines
2.9 KiB
Bash

# Dia / Dia2 stack tunables. Copy to `.env` on irv-ml1 before deploying.
# ── build pin ────────────────────────────────────────────────────────
# SHA of devnen/Dia-TTS-Server. Use the FULL 40-char SHA — docker
# buildx's git source resolver doesn't accept short hashes. `main`
# works but is NOT reproducible; pin a SHA before you rely on this in
# anger (same churn lesson as chatterbox, whose `main` once broke on an
# upstream path restructure). Latest commits:
# https://github.com/devnen/Dia-TTS-Server/commits/main
DIA_SHA=main
# Local image tag — bump when you change build context to force a
# fresh layer build.
DIA_TAG=v1
# ── network ──────────────────────────────────────────────────────────
# Host port. Container listens on 8003 internally.
# Reserved on irv-ml1: 8188 ComfyUI, 8190 CosyVoice, 8191 Qwen3-TTS,
# 8192 IndexTTS-2, 8193 Kokoro, 8194 VibeVoice, 8195 Fish-S2,
# 8196 Chatterbox, 8197 Voxtral, 8198 Kyutai, 8199 Zonos, 8765 Parakeet.
# 8200 picked here.
DIA_PORT=8200
# 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.
DIA_BIND=0.0.0.0
# ── runtime / GPU ────────────────────────────────────────────────────
# Devices visible inside the container. "0" pins to the RTX 3090
# (24 GB) — Dia at BF16 (~7 GB) fits comfortably. Use "1" for the
# A6000 if you'd rather keep the 3090 free.
DIA_GPU_DEVICES=0
# Model selection is config.yaml-driven in the wrapper (model.repo_id),
# not a plain env var. Default in-image model is Dia 1.6B. To pin a
# different default, mount a host config.yaml (see commented volume in
# compose.yaml) setting one of:
# nari-labs/Dia-1.6B — original, single/dual-speaker dialogue
# Dia2-1B — streaming, lower latency
# Dia2-2B — highest quality
# Or just switch live from the Web UI at http://<host>:8200/ .
# ── persistent storage on the host ───────────────────────────────────
# Reference audio dir for voice cloning / speaker prompts. Drop short
# reference WAVs here; the wrapper picks them up by filename. Included
# in restic (cloned voices need the original reference to recreate).
DIA_REFERENCE_DIR=/worktank/dia/reference_audio
# HuggingFace cache — Dia/Dia2 checkpoints land here on first start.
# Bind-mounted so they survive container recreate. Excluded from restic
# (regenerable from HF).
DIA_CACHE_DIR=/worktank/dia/cache
# Optional: host config.yaml to pin a default model + generation
# defaults. Leave commented in compose.yaml unless you want it.
# DIA_CONFIG=/worktank/dia/config.yaml