mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-19 09:06:14 +00:00
70 lines
2.0 KiB
Markdown
70 lines
2.0 KiB
Markdown
# Raspberry Pi Installation Guide
|
|
|
|
This guide explains how to install the `soundtouch-service` as a persistent systemd service on a Raspberry Pi (tested on Raspberry Pi Zero 2W, 3, and 4).
|
|
|
|
## Automated Installer
|
|
|
|
We provide a specialized installer script located in the `scripts/raspberry-pi/` directory of the repository.
|
|
|
|
### Features
|
|
* **Automatic start on boot**: Installs a systemd unit.
|
|
* **Non-root operation**: Uses `AmbientCapabilities` to bind to ports 80/443 without root privileges.
|
|
* **Arch Detection**: Automatically selects the correct binary for `armv7`, `arm64`, or `amd64`.
|
|
* **Easy Updates**: Re-running the script updates the binary to the latest version.
|
|
|
|
### Installation Steps
|
|
|
|
1. **Download the installer**:
|
|
```bash
|
|
curl -fsSL -o install.sh https://raw.githubusercontent.com/gesellix/bose-soundtouch/main/scripts/raspberry-pi/install.sh
|
|
```
|
|
|
|
2. **Run with sudo**:
|
|
```bash
|
|
sudo bash install.sh
|
|
```
|
|
|
|
### Overriding Defaults
|
|
|
|
You can customize the installation using environment variables:
|
|
|
|
```bash
|
|
sudo \
|
|
VERSION=v0.17.0 \
|
|
HOSTNAME_FQDN=soundtouch.local \
|
|
HTTP_PORT=80 \
|
|
HTTPS_PORT=443 \
|
|
bash install.sh
|
|
```
|
|
|
|
### Updating the Service
|
|
|
|
To update the service to a specific version, run the installer with the version as an argument:
|
|
|
|
```bash
|
|
sudo bash install.sh v0.18.1
|
|
```
|
|
|
|
The installer will automatically fetch the latest version of itself for that release and then update the service binary and restart it.
|
|
|
|
## Management
|
|
|
|
Once installed, use standard `systemctl` commands to manage the service:
|
|
|
|
```bash
|
|
# Check status
|
|
systemctl status soundtouch-service
|
|
|
|
# Follow logs
|
|
journalctl -u soundtouch-service -f
|
|
|
|
# Restart
|
|
sudo systemctl restart soundtouch-service
|
|
```
|
|
|
|
## Configuration
|
|
|
|
Configuration is stored in `/etc/soundtouch-service/soundtouch-service.env`. Note that settings saved via the Web UI (in `settings.json`) will take precedence over these environment variables once the service is running.
|
|
|
|
For more details, see the [scripts/raspberry-pi/README.md](../../scripts/raspberry-pi/README.md) in the repository.
|