#!/bin/sh # wyoming-satellite + openWakeWord, for the mic-enabled rooms only. set -eu . /etc/thinclient-agent/config.env if [ "${ENABLE_VOICE_SATELLITE}" != "true" ]; then echo "0600-voice-satellite: ENABLE_VOICE_SATELLITE is false, skipping (this is the" echo " default — only images destined for the specific rooms that have a microphone" echo " should enable it)." exit 0 fi VENV=/opt/voice-satellite/venv # A venv rather than `pip3 install --break-system-packages`: bookworm's system # interpreter is externally managed (PEP 668), and these packages pull a large, # fast-moving dependency tree (onnxruntime, numpy) that would otherwise be free to # overwrite apt-managed versions the rest of the image depends on. python3 -m venv "$VENV" "$VENV/bin/pip" install --upgrade pip wheel setuptools # VERIFY BEFORE THE FIRST REAL BUILD: upstream's documented install path is a git # clone + script/setup rather than PyPI. If either of these names is not on PyPI, # swap this for: # git clone https://github.com/rhasspy/wyoming-satellite /opt/voice-satellite/src # /opt/voice-satellite/src/script/setup if ! "$VENV/bin/pip" install wyoming-satellite wyoming-openwakeword; then echo "0600-voice-satellite: WARNING — pip install failed. Fall back to the upstream" echo " git-clone install described in the comment above this line." exit 0 fi cat > /etc/systemd/system/wyoming-openwakeword.service < /etc/systemd/system/wyoming-satellite.service <