deploy: wire voice in the container — bind + real onnxruntime 1.26

"voice unavailable" in the web UI: mavweb dials mavend:9100, but the container
mavend.json had no voice block, so mavend never bound 9100 (worked pre-docker
because the host's ~/.config/maven/mavend.json had one). Ported that block:
enabled, bind 0.0.0.0:9100 (not 127.0.0.1 — mavweb is a separate container),
lang ru, stt/tts worker sockets, onnx embedder.

Enabling the embedder surfaced a second bug: the router needs onnxruntime 1.26,
but deps/lib only carries dangling symlinks to it (absolute host paths, not in
the image), so the only libonnxruntime present was piper's 1.14 (copied in) →
"ORT API base: 2", crash loop. Fixed the Dockerfile to ship the real 1.26 .so
and stop copying piper's .so into the shared lib dir (piper finds its own 1.14
via $ORIGIN + exact soname, so TTS is unaffected).

Verified: mavend "onnx embedder loaded (384 dim)", "voice listening on :9100",
stack stable.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
kami
2026-07-03 23:07:59 +04:00
parent b129935995
commit 4c4b129789
3 changed files with 30 additions and 4 deletions
+5
View File
@@ -17,7 +17,12 @@ certs
# heavy deps we don't need in context. We keep only the prebuilt runtime libs
# (deps/lib, deps/piper) and the headers the CGO build needs.
deps/go
# keep the onnxruntime 1.26 runtime lib (the router embedder loads it); the
# deps/lib symlinks point here. Other onnxruntime dirs (headers etc.) excluded.
deps/onnxruntime-linux-x64-*
!deps/onnxruntime-linux-x64-1.26.0
deps/onnxruntime-linux-x64-1.26.0/*
!deps/onnxruntime-linux-x64-1.26.0/lib
deps/whisper.cpp/**
!deps/whisper.cpp
!deps/whisper.cpp/ggml