feat(chatterbox-fast): Phase 3 scaffold — Dockerfile, compose, .env.example

Container artifacts to deploy alongside the live chatterbox (:8196) on irv-ml1.
- Dockerfile: thin overlay FROM local/chatterbox:v1 (sibling's image, has the
  chatterbox lib + torch + fastapi) + COPY scheduler.py app.py; runs uvicorn.
- compose.yaml: mirrors the sibling chatterbox stack (runtime: nvidia +
  NVIDIA_VISIBLE_DEVICES; host IP:port, no traefik-net — these GPU TTS services
  aren't traefik-fronted). Port 8197, /health healthcheck, homepage labels,
  reuses /worktank/chatterbox/{cache,reference_audio}.
- .env.example: GPU default device 1 (A6000) — turbo is fp32, 3090 free VRAM is
  tight; port reservations; perf-lever toggles.

Not yet deployed — awaiting operator go (shared GPU host, runs beside production).
This commit is contained in:
vh
2026-06-01 23:30:36 -07:00
parent a95aa75947
commit 5c8d174f8e
4 changed files with 135 additions and 1 deletions
+19
View File
@@ -0,0 +1,19 @@
# chatterbox-fast — streaming TTS server.
#
# Layers our streaming server (app.py + scheduler.py) on top of the proven
# chatterbox base image (devnen's, already built locally by the sibling
# `chatterbox` stack). That base carries the chatterbox lib + torch +
# fastapi/uvicorn/pydantic — verified present — so this stays a thin overlay.
#
# Build on irv-ml1, where local/chatterbox:<tag> exists. Bump the base via the
# CHATTERBOX_BASE build arg (compose passes it from .env: CBF_BASE_TAG).
ARG CHATTERBOX_BASE=local/chatterbox:v1
FROM ${CHATTERBOX_BASE}
# Only the two runtime modules — tests/bench/README stay out of the image.
COPY scheduler.py app.py /cbf/
WORKDIR /cbf
# The base image sets devnen's own entrypoint; clear it and run our server.
ENTRYPOINT []
CMD ["python", "app.py"]