44 lines
1.6 KiB
YAML
44 lines
1.6 KiB
YAML
# ============================================================================
|
|
# stt-server (whisper.cpp Vulkan + pyannote) — docker compose
|
|
# ----------------------------------------------------------------------------
|
|
# Uso:
|
|
# export RENDER_GID=$(getent group render | cut -d: -f3) # GID gruppo render
|
|
# docker compose up -d --build
|
|
#
|
|
# GPU: AMD/Intel via Mesa RADV (/dev/dri/renderD128). Su host dove il node
|
|
# è world-writable (es. Fedora) group_add non è necessario ma innocuo.
|
|
#
|
|
# Variabili utili:
|
|
# MODELS_DIR : dir con ggml-large-v3-turbo.bin + ggml-silero-v6.2.0.bin
|
|
# HF_CACHE : cache HuggingFace (pyannote Community-1, gated)
|
|
# HF_TOKEN : token HF (solo se la cache non contiene i modelli)
|
|
# PORT : porta host (default 8883)
|
|
# ============================================================================
|
|
services:
|
|
stt-server:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: stt-server:vulkan
|
|
container_name: stt-server
|
|
devices:
|
|
- /dev/dri/renderD128:/dev/dri/renderD128
|
|
group_add:
|
|
- "${RENDER_GID:-44}"
|
|
environment:
|
|
GGML_BACKEND: Vulkan0
|
|
WHISPER_CLI: /app/whisper-cli
|
|
MODELS_DIR: /models
|
|
STT_PYTHON: python3
|
|
HF_HOME: /hf-cache
|
|
HF_TOKEN: ${HF_TOKEN:-}
|
|
PORT: "8883"
|
|
GLOSSARY_FILE: /glossary/glossary.json
|
|
volumes:
|
|
- "${MODELS_DIR:-/home/enne2/dev/whisper.cpp/models}:/models:ro"
|
|
- "${HF_CACHE:-/home/enne2/.cache/huggingface}:/hf-cache:ro"
|
|
- "${GLOSSARY_FILE:-/home/enne2/dev/stt/glossary.json}:/glossary/glossary.json:ro"
|
|
ports:
|
|
- "${PORT:-8883}:8883"
|
|
restart: unless-stopped
|