Files
stt-server/docker-compose.yml

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