4263af9683
Both deploys failed against irv-ml1 today with upstream-changed-on-us errors: * vibevoice: VIBEVOICE_SHA=7614c469a145 (12-char short) made docker buildx report "repository does not contain ref 7614c469a145" — same commit IS still HEAD of main, but buildx's git source resolver doesn't accept short hashes even when unambiguous. Now full 40-char. * chatterbox: dockerfile: docker/Dockerfile.gpu — devnen restructured the repo to put Dockerfiles at root, renamed by CUDA version (Dockerfile.cu128, .cpu, .rocm). Switched to Dockerfile.cu128 (GPU build for CUDA 12.8 toolkit; works on irv-ml1's 595.58.03 driver). Also pinned CHATTERBOX_SHA to a full 40-char SHA instead of `main` so future upstream churn doesn't break the deploy without warning. Live host .env files patched directly (the playbook only seeds .env when absent, so canonical edits don't propagate to existing installs).
79 lines
3.8 KiB
Bash
79 lines
3.8 KiB
Bash
# VibeVoice 1.5B (long-form) stack tunables.
|
|
# Copy to `.env` on irv-ml1 before deploying.
|
|
|
|
# ── build pin ────────────────────────────────────────────────────────
|
|
# SHA of groxaxo/VibeVoice-FastAPI1 (a more current fork of
|
|
# ncoder-ai/VibeVoice-FastAPI). 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, even when they're
|
|
# unambiguous (it errors with "repository does not contain ref X").
|
|
VIBEVOICE_SHA=7614c469a145dafc30b1fd5f6a6046ea831dbd6a
|
|
|
|
# Local image tag — bump when you change build context to force a
|
|
# fresh layer build.
|
|
VIBEVOICE_TAG=v1
|
|
|
|
# ── network ──────────────────────────────────────────────────────────
|
|
# Host port. Container listens on 8001 internally.
|
|
# Reserved on irv-ml1: 8188 ComfyUI, 8190 CosyVoice, 8191 Qwen3-TTS,
|
|
# 8192 IndexTTS-2, 8193 Kokoro, 8765 Parakeet. 8194 picked here.
|
|
VIBEVOICE_PORT=8194
|
|
|
|
# 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.
|
|
VIBEVOICE_BIND=0.0.0.0
|
|
|
|
# ── runtime / GPU ────────────────────────────────────────────────────
|
|
# Devices visible inside the container. "1" pins to the RTX A6000 —
|
|
# 1.5B fits easily on the 3090 too, but pinning to the bigger card
|
|
# leaves headroom if you later flip VIBEVOICE_MODEL to the 7B variant.
|
|
VIBEVOICE_GPU_DEVICES=1
|
|
|
|
# Model. Options (per groxaxo/ncoder-ai docs):
|
|
# microsoft/VibeVoice-1.5B — flagship, ~7 GB bf16 VRAM
|
|
# rsxdalv/VibeVoice-Large — 7B variant, ~18 GB bf16 VRAM
|
|
# (need device_ids="1" / A6000)
|
|
# FabioSarracino/VibeVoice-Large-Q8 — 7B int8 quantized, ~10 GB
|
|
VIBEVOICE_MODEL=microsoft/VibeVoice-1.5B
|
|
|
|
# Number of denoising inference steps. Default 10 is a good
|
|
# quality/speed tradeoff. Lower = faster but lower quality.
|
|
VIBEVOICE_INFERENCE_STEPS=10
|
|
|
|
# Compute dtype. bfloat16 default (best speed/quality on Ampere+).
|
|
# Use float16 for older GPUs without bf16 support.
|
|
VIBEVOICE_DTYPE=bfloat16
|
|
|
|
# Attention impl. flash_attention_2 is fastest if installed (bundled
|
|
# in the upstream image build). Fall back to "sdpa" if it errors.
|
|
VIBEVOICE_ATTN=flash_attention_2
|
|
|
|
# Quantization. Empty = none. "int8_torchao" saves ~40% VRAM at a
|
|
# small quality cost — useful if you want to run 7B on a smaller GPU.
|
|
VIBEVOICE_QUANT=
|
|
|
|
# torch.compile. Bumps cold-start by ~3-5 min the first time but
|
|
# trims per-generation latency. Disable if you're iterating quickly.
|
|
VIBEVOICE_TORCH_COMPILE=false
|
|
VIBEVOICE_TORCH_COMPILE_MODE=default
|
|
|
|
# CFG (classifier-free guidance) scale. Default 1.8 from upstream;
|
|
# higher = stronger adherence to text/voice, lower = more free.
|
|
VIBEVOICE_CFG_SCALE=1.8
|
|
|
|
# Max generation length in audio frames. 5400 = ~6 minutes at the
|
|
# native rate. Bump for longer podcasts (each frame takes work).
|
|
VIBEVOICE_MAX_GEN_LEN=5400
|
|
|
|
# ── persistent storage on the host ───────────────────────────────────
|
|
# Voice library — flat dir of .wav/.mp3/.flac/.m4a files. Mounted
|
|
# read-only into the container. Drop a file in, restart container,
|
|
# voice is available. (Restart needed because the upstream wrapper
|
|
# scans on init, not per-request.)
|
|
VIBEVOICE_VOICES_DIR=/worktank/vibevoice/voices
|
|
|
|
# HuggingFace cache. Holds VibeVoice weights + any aux models pulled.
|
|
# Bind-mounted so model state survives container recreate. Excluded
|
|
# from restic (regenerable from HF).
|
|
VIBEVOICE_CACHE_DIR=/worktank/vibevoice/cache
|