SonosControl is a deployer-friendly Blazor control center for automating Sonos playback, scheduling start/stop windows, and managing stations and users from one self-hosted app.
services:
sonos:
build:
context: .
dockerfile: Dockerfile
image: sonoscontrol:local
container_name: sonoscontrol
restart: unless-stopped
ports:
- "8080:8080"
environment:
TZ: Europe/Vienna
ADMIN_USERNAME: admin
ADMIN_EMAIL: admin@example.com
ADMIN_PASSWORD: ChangeMe123!
PLAYBACK_PUBLIC_BASE_URL: http://192.168.1.50:8080
volumes:
- ./Data:/app/Data
- ./DataProtectionKeys:/app/DataProtectionKeys
- ./artifacts:/app/artifactscp .env.example .env
docker compose up -d --buildOpen http://localhost:8080 and sign in with the seeded admin account.
Set PLAYBACK_PUBLIC_BASE_URL to the LAN URL that your Sonos devices can reach. localhost does not work for YouTube audio streaming to Sonos.
PowerShell:
dotnet restore
Copy-Item SonosControl.Web/Data/config.template.json SonosControl.Web/Data/config.json -ErrorAction SilentlyContinue
dotnet run --project SonosControl.Web --urls http://localhost:5107Bash:
dotnet restore
cp -n SonosControl.Web/Data/config.template.json SonosControl.Web/Data/config.json
dotnet run --project SonosControl.Web --urls http://localhost:5107Then open http://localhost:5107.
| Home | Config | Statistics | User Management | Logs |
|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
| Home | Config | Statistics | User Management | Logs |
|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
- Real-time Sonos dashboard with playback, queue, group, and volume controls.
- Day-based automation with start/stop windows and optional random media selection.
- TuneIn, Spotify, YouTube, and YouTube Music source management from a single UI.
- Role-based access (
operator,admin,superadmin) with registration control. - Searchable audit logs for operational traceability.
- Health and metrics endpoints (
/healthz,/metricsz) for basic monitoring. - Docker image includes
ffmpegandyt-dlpfor YouTube audio playback without extra sidecars.
- Deploy and Config Guide
- Docker Operations
- Operations and Observability
- Testing and Troubleshooting
- Warning triage notes
- Contributing Guide
Contribution workflow, README asset maintenance, and screenshot refresh instructions are documented in CONTRIBUTING.md.
SonosControl is released under the Don't Be a Dick Public License.
- Docker Hub: https://hub.docker.com/r/darkatek7/sonoscontrol
- ByteDev.Sonos: https://github.com/ByteDev/ByteDev.Sonos
- Radio Browser: https://www.radio-browser.info/
- ASP.NET Core docs: https://learn.microsoft.com/aspnet/core









