This page covers the day-to-day commands for the all-in-one SonosControl container setup.
- Docker Engine with Compose support
- A copied
.envfile based on.env.example PLAYBACK_PUBLIC_BASE_URLset to a LAN URL that Sonos devices can reach
- Copy the environment template.
- Adjust credentials and the public playback URL.
- Build and start the stack.
cp .env.example .env
docker compose up -d --builddocker compose ps
docker compose logs --tail=200git pull
docker compose up -d --builddocker compose restartdocker compose downBack up all persisted runtime state:
Data/DataProtectionKeys/artifacts/.env
Example:
tar -czf sonoscontrol-backup-$(date +%Y%m%d-%H%M%S).tar.gz \
Data DataProtectionKeys artifacts .env- Stop the stack.
- Restore the backup archive into the deployment folder.
- Start the stack again.
docker compose down
tar -xzf sonoscontrol-backup-YYYYMMDD-HHMMSS.tar.gz
docker compose up -dIf YouTube playback fails, verify these first:
PLAYBACK_PUBLIC_BASE_URLpoints to the correct host and port- Sonos devices can reach that URL on the LAN
- the container is healthy and serving
/healthz
Useful checks:
docker compose exec sonoscontrol which yt-dlp
docker compose exec sonoscontrol which ffmpeg
docker compose exec sonoscontrol printenv Playback__PublicBaseUrl