fix(homelab): pocket-tts uses locally-built image, correct start command and volumes
Some checks failed
CI / Check ui (pull_request) Successful in 35s
CI / Test backend (pull_request) Successful in 39s
CI / Docker / ui (pull_request) Successful in 1m27s
CI / Docker / backend (pull_request) Successful in 1m57s
CI / Docker / runner (pull_request) Failing after 35s
CI / Docker / caddy (pull_request) Successful in 6m14s
Some checks failed
CI / Check ui (pull_request) Successful in 35s
CI / Test backend (pull_request) Successful in 39s
CI / Docker / ui (pull_request) Successful in 1m27s
CI / Docker / backend (pull_request) Successful in 1m57s
CI / Docker / runner (pull_request) Failing after 35s
CI / Docker / caddy (pull_request) Successful in 6m14s
- pocket-tts has no prebuilt image on ghcr.io — must be built from source on homelab - Updated image to pocket-tts:latest (local tag), add command with --host 0.0.0.0 - Add model cache volumes (pocket_tts_cache, hf_cache) so model weights survive restarts - start_period increased to 120s (first startup downloads weights)
This commit is contained in:
@@ -414,21 +414,27 @@ services:
|
|||||||
|
|
||||||
# ── pocket-tts (CPU TTS) ────────────────────────────────────────────────────
|
# ── pocket-tts (CPU TTS) ────────────────────────────────────────────────────
|
||||||
# Lightweight CPU-only TTS using kyutai-labs/pocket-tts.
|
# Lightweight CPU-only TTS using kyutai-labs/pocket-tts.
|
||||||
# OpenAI-compatible: POST /v1/audio/speech on port 8000.
|
# Image is built locally on homelab from https://github.com/kyutai-labs/pocket-tts
|
||||||
# Voices: alba, marius, javert, jean, fantine, cosette, eponine, azelma.
|
# (no prebuilt image published): cd /tmp && git clone --depth=1 https://github.com/kyutai-labs/pocket-tts.git && docker build -t pocket-tts:latest /tmp/pocket-tts
|
||||||
|
# OpenAI-compatible: POST /tts (multipart form) on port 8000.
|
||||||
|
# Voices: alba, marius, javert, jean, fantine, cosette, eponine, azelma, etc.
|
||||||
# Not currently used by the runner (runner uses kokoro-fastapi), but available
|
# Not currently used by the runner (runner uses kokoro-fastapi), but available
|
||||||
# for experimentation / fallback.
|
# for experimentation / fallback.
|
||||||
pocket-tts:
|
pocket-tts:
|
||||||
image: ghcr.io/kyutai-labs/pocket-tts:latest
|
image: pocket-tts:latest
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
command: ["uv", "run", "pocket-tts", "serve", "--host", "0.0.0.0"]
|
||||||
expose:
|
expose:
|
||||||
- "8000"
|
- "8000"
|
||||||
|
volumes:
|
||||||
|
- pocket_tts_cache:/root/.cache/pocket_tts
|
||||||
|
- hf_cache:/root/.cache/huggingface
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "curl", "-sf", "http://localhost:8000/health"]
|
test: ["CMD", "curl", "-sf", "http://localhost:8000/health"]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 5
|
retries: 5
|
||||||
start_period: 60s
|
start_period: 120s
|
||||||
|
|
||||||
# ── Watchtower ──────────────────────────────────────────────────────────────
|
# ── Watchtower ──────────────────────────────────────────────────────────────
|
||||||
# Auto-updates runner image when CI pushes a new tag.
|
# Auto-updates runner image when CI pushes a new tag.
|
||||||
@@ -453,3 +459,5 @@ volumes:
|
|||||||
prometheus_data:
|
prometheus_data:
|
||||||
loki_data:
|
loki_data:
|
||||||
grafana_data:
|
grafana_data:
|
||||||
|
pocket_tts_cache:
|
||||||
|
hf_cache:
|
||||||
|
|||||||
Reference in New Issue
Block a user