Files
Bose-SoundTouch/scripts/raspberry-pi
Tobias GesellchenandClaude Opus 4.8 ea7f6f36ef feat(install): default installers to the latest release via releases/latest
The on-device and Raspberry Pi installers hardcoded the release version, which
had to be bumped on every release. Default VERSION to empty and resolve the
newest tag by following GitHub's documented stable redirect
(https://github.com/<repo>/releases/latest -> .../releases/tag/vX.Y.Z), reading
the effective URL. This avoids the GitHub API rate limit and needs no jq.

An explicit version (positional arg / VERSION= / --version) still pins a
release. If the lookup fails (offline, rate-limited, or a curl without -w
support), each script falls back to a pinned FALLBACK_VERSION so installs still
work. The Pi self_update path runs after resolution, so it fetches the resolved
tag's installer.

Docs updated to state the default installs the latest release; the pinned-version
examples remain as illustrations.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 09:47:19 +02:00
..

Raspberry Pi installers

Full documentation — installation, configuration, service management, updates, and removal for both soundtouch-service and soundtouch-player — lives in the project docs:

docs/content/docs/guides/RASPBERRY-PI.md


Quick start

soundtouch-service (cloud-replacement relay):

curl -fsSL -o install.sh \
  https://raw.githubusercontent.com/gesellix/Bose-SoundTouch/main/scripts/raspberry-pi/install.sh
sudo bash install.sh

soundtouch-player (browser control panel):

curl -fsSL -o install-player.sh \
  https://raw.githubusercontent.com/gesellix/Bose-SoundTouch/main/scripts/raspberry-pi/install-player.sh
sudo bash install-player.sh

Both install the latest release by default (resolved from GitHub's releases/latest redirect). Pass a version tag as the first argument to pin a specific release:

sudo bash install.sh v0.111.3
sudo bash install-player.sh v0.111.3

install-web.sh is the old name for install-player.sh and still works as a deprecated alias. If you installed soundtouch-web previously, remove it with uninstall-web.sh (see below) and switch to install-player.sh.

Removal

Matching uninstallers reverse each installer (stop and disable the service, remove the unit, binary, and config). You can also remove things by hand — see the full guide for the manual commands.

# soundtouch-service (keeps the data directory unless you pass --purge):
curl -fsSL -o uninstall.sh \
  https://raw.githubusercontent.com/gesellix/Bose-SoundTouch/main/scripts/raspberry-pi/uninstall.sh
sudo bash uninstall.sh

# soundtouch-player:
curl -fsSL -o uninstall-player.sh \
  https://raw.githubusercontent.com/gesellix/Bose-SoundTouch/main/scripts/raspberry-pi/uninstall-player.sh
sudo bash uninstall-player.sh

# soundtouch-web (deprecated; switch to soundtouch-player afterwards):
curl -fsSL -o uninstall-web.sh \
  https://raw.githubusercontent.com/gesellix/Bose-SoundTouch/main/scripts/raspberry-pi/uninstall-web.sh
sudo bash uninstall-web.sh

The shared soundtouch:soundtouch user/group is removed only once no other soundtouch-* install remains on the host.