backup stack: whisper-cpp-sycl [2026-11-05]
This commit is contained in:
1 parent
76265f8347
commit
74b0961902
1 file changed
+57
@@ -0,0 +1,57 @@
|
||||
services:
|
||||
# One-shot helper: downloads models into the models folder if missing, then exits.
|
||||
whisper-models:
|
||||
image: alpine:3
|
||||
container_name: whisper-models
|
||||
restart: "no"
|
||||
volumes:
|
||||
- /home/fireball/docker/whisper-cpp/models:/models
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- |
|
||||
set -e
|
||||
apk add --no-cache wget >/dev/null
|
||||
get() {
|
||||
if [ -s "/models/$$1" ]; then echo "have $$1"; else
|
||||
echo "downloading $$1"
|
||||
wget -q --show-progress -O "/models/$$1.part" "$$2" && mv "/models/$$1.part" "/models/$$1"
|
||||
fi
|
||||
}
|
||||
get ggml-large-v3.bin https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3.bin
|
||||
get ggml-silero-v5.1.2.bin https://huggingface.co/ggml-org/whisper-vad/resolve/main/ggml-silero-v5.1.2.bin
|
||||
|
||||
whisper-sycl:
|
||||
image: ghcr.io/linktothedata/whisper-sycl:latest
|
||||
container_name: whisper-sycl
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
whisper-models:
|
||||
condition: service_completed_successfully
|
||||
ports:
|
||||
- "8081:8080" # whisper-server UI + /inference
|
||||
devices:
|
||||
- /dev/dxg:/dev/dxg
|
||||
# - /dev/dri:/dev/dri # add if your ollama-sycl service maps it
|
||||
volumes:
|
||||
- /usr/lib/wsl:/usr/lib/wsl # WSL GPU libs (match ollama-sycl)
|
||||
- /home/fireball/docker/whisper-cpp/models:/models
|
||||
environment:
|
||||
- ONEAPI_DEVICE_SELECTOR=level_zero:0 # force the Arc, not the CPU
|
||||
- SYCL_CACHE_PERSISTENT=1 # faster restarts
|
||||
# Image entrypoint may be the CLI, so find whisper-server explicitly.
|
||||
entrypoint: ["/bin/sh", "-c"]
|
||||
command:
|
||||
- >
|
||||
exec "$$(find / -name whisper-server -type f 2>/dev/null | head -1)"
|
||||
--host 0.0.0.0 --port 8080
|
||||
-m /models/ggml-large-v3.bin
|
||||
--convert --language auto
|
||||
--vad -vm /models/ggml-silero-v5.1.2.bin
|
||||
healthcheck:
|
||||
# bash /dev/tcp avoids needing curl in the image
|
||||
test: ["CMD-SHELL", "bash -c '</dev/tcp/127.0.0.1/8080' || exit 1"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
start_period: 120s
|
||||
Reference in new issue
Block a user