# ============================================================================ # 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