Files
esh-pfi-infrastructure/stacks/csm/.env.example
T
vh a4b8c2a9f4 stacks: add csm (Sesame Conversational Speech Model) to the TTS bench
Sesame CSM-1B via phildougherty/sesame_csm_openai — OpenAI-compat
/v1/audio/speech, context-aware conversational speech (voice-agent
layer, not a plain reader). Port 8201 on irv-ml1. Gated model:
requires CSM_HF_TOKEN (license acceptance) — placeholder in .env.example,
real token only in host .env.
2026-05-31 10:59:22 -07:00

50 lines
2.7 KiB
Bash

# Sesame CSM stack tunables. Copy to `.env` on irv-ml1 before deploying.
# ── build pin ────────────────────────────────────────────────────────
# SHA of phildougherty/sesame_csm_openai. Use the FULL 40-char SHA;
# `main` works but is NOT reproducible — pin before relying on it.
# https://github.com/phildougherty/sesame_csm_openai/commits/main
CSM_SHA=main
# Local image tag — bump to force a fresh layer build.
CSM_TAG=v1
# ── network ──────────────────────────────────────────────────────────
# Host port. Container listens on 8000 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, 8200 Dia,
# 8765 Parakeet. 8201 picked here.
CSM_PORT=8201
# Bind address. 0.0.0.0 exposes on all interfaces (incl. the WG tunnel
# interface 10.100.79.3); 127.0.0.1 restricts to local-only.
CSM_BIND=0.0.0.0
# ── runtime / GPU ────────────────────────────────────────────────────
# Devices visible inside the container. "0" pins to the RTX 3090
# (24 GB) — CSM-1B (~8 GB) fits; use "1" for the A6000.
CSM_GPU_DEVICES=0
# Optional HF device_map for multi-GPU: auto | balanced | sequential.
# Leave empty for single-GPU (the common case here).
CSM_DEVICE_MAP=
# ── secrets ──────────────────────────────────────────────────────────
# REQUIRED. sesame/csm-1b is a GATED model: accept its license at
# https://huggingface.co/sesame/csm-1b
# then paste a HF token (read scope) here. Without it, first-boot model
# download 401s. This file is .env.example (committed) — put the REAL
# token only in the .env on the host, which is gitignored.
CSM_HF_TOKEN=
# ── persistent storage on the host ───────────────────────────────────
# Voices dir — cloned/custom voice samples the wrapper serves by ID.
# Included in restic (clones need the original sample to recreate).
CSM_VOICES_DIR=/worktank/csm/voices
# HuggingFace cache — csm-1b + Llama-3.2-1B tokenizer + Mimi land here
# on first start. Bind-mounted to survive recreate. Excluded from restic
# (regenerable from HF, given the token + license acceptance).
CSM_CACHE_DIR=/worktank/csm/cache