From 0159f1f2164ae25d206df55a7fe19a0851d71621 Mon Sep 17 00:00:00 2001 From: "russell@unturf.com" Date: Mon, 26 Jan 2026 13:16:44 -0500 Subject: [PATCH] Add configurable WORKERS env var, default to 1 for GPU models --- CLAUDE.md | 5 +++++ sample.env | 5 +++++ startup.sh | 5 ++++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/CLAUDE.md b/CLAUDE.md index 24a94cf..81bcdc3 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -77,6 +77,11 @@ owned_by = "UncloseAI" - `sample.env` - Default environment (commit this) - `speech.env` - Runtime environment (created automatically by Makefile) +**Key environment variables:** +- `WORKERS` - Number of uvicorn workers (default: 1 for GPU models like Qwen3-TTS) + - Use 1 for GPU-bound models to avoid VRAM duplication across workers + - Increase for CPU-bound models like Piper (e.g., WORKERS=4) + **Never view or log secrets** - source them and use them. ### 4. Git Commit Guidelines diff --git a/sample.env b/sample.env index 5913a4a..b96a7d1 100644 --- a/sample.env +++ b/sample.env @@ -1,5 +1,10 @@ TTS_HOME=voices HF_HOME=voices + +# Worker processes (default: 1 for GPU models like Qwen3-TTS) +# Increase for CPU-bound models like Piper +WORKERS=1 + #PRELOAD_MODEL=xtts #PRELOAD_MODEL=xtts_v2.0.2 #EXTRA_ARGS=--log-level DEBUG --unload-timer 300 diff --git a/startup.sh b/startup.sh index 3205780..db3d6b4 100755 --- a/startup.sh +++ b/startup.sh @@ -2,6 +2,9 @@ [ -f speech.env ] && . speech.env +# Default to 1 worker for GPU models (Qwen3-TTS) +WORKERS=${WORKERS:-1} + echo "First startup may download ~3GB of Qwen3-TTS model. Please wait." # Pre-download Qwen3-TTS model (default engine) @@ -11,4 +14,4 @@ python -c "from qwen_tts import Qwen3TTSModel; Qwen3TTSModel.from_pretrained('Qw # bash download_voices_tts-1.sh # bash download_voices_tts-1-hd.sh $PRELOAD_MODEL -python speech.py ${PRELOAD_MODEL:+--preload $PRELOAD_MODEL} $EXTRA_ARGS $@ +python speech.py --workers $WORKERS ${PRELOAD_MODEL:+--preload $PRELOAD_MODEL} $EXTRA_ARGS $@