diff --git a/listener/Dockerfile b/listener/Dockerfile index f608f1f..78e2e19 100644 --- a/listener/Dockerfile +++ b/listener/Dockerfile @@ -56,11 +56,15 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ && (uv pip install --prerelease=${UV_PRERELEASE} -c /tmp/constraints.txt "ovos-dinkum-listener[extras,onnx]" \ || uv pip install --prerelease=${UV_PRERELEASE} -c /tmp/constraints.txt "ovos-dinkum-listener[extras]" \ || echo "plugin extras unavailable on this channel; add plugins via listener.list") \ - # Speech recognition on the device, which ovos-installer configures when local speech - # is chosen. Like [onnx] it needs ovos-plugin-manager>=2, so stable skips it; onnx-asr - # downloads its models through huggingface_hub, which only its hub extra brings in. - && (uv pip install --prerelease=${UV_PRERELEASE} -c /tmp/constraints.txt "ovos-stt-plugin-onnx-asr" "onnx-asr[cpu,hub]" \ - || echo "onnx-asr STT plugin unavailable on this channel; add it via listener.list") \ + # Speech recognition on the device, which ovos-installer only configures on alpha. + # Alpha only: elsewhere the install succeeds by raising ovos-plugin-manager to 2.x, + # past what the channel's VAD plugins accept, and the image then fails pip check. + # onnx-asr downloads its models through huggingface_hub, which only its hub extra + # brings in. + && if [ "${OVOS_CHANNEL}" = "alpha" ]; then \ + uv pip install --prerelease=${UV_PRERELEASE} -c /tmp/constraints.txt "ovos-stt-plugin-onnx-asr" "onnx-asr[cpu,hub]" \ + || echo "onnx-asr STT plugin unavailable; add it via listener.list"; \ + fi \ && mkdir -p "/home/${USER}/.local/share/vosk" "/home/${USER}/.local/share/precise-lite" "/home/${USER}/.local/share/mycroft/listener" "/home/${USER}/.local/share/ovos_stt_plugin_onnxasr" \ && chown "${USER}:${USER}" -R "/home/${USER}" \ && apt-get --purge remove -y portaudio19-dev libpulse-dev build-essential python3-dev \