Skip to content

Darkatek7/SonosControl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

428 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

SonosControl - Self-Hosted Sonos Automation Dashboard

Dockerhub

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.

SonosControl dashboard hero

Quick Start

1. Run with Docker Compose

version: "3.4"
services:
  sonos:
    image: darkatek7/sonoscontrol:latest
    container_name: sonos
    restart: unless-stopped
    ports:
      - "8080:8080"
    environment:
      - TZ=Europe/Vienna
      - ADMIN_USERNAME=admin
      - ADMIN_EMAIL=admin@example.com
      - ADMIN_PASSWORD=ChangeMe123!
    volumes:
      - ./Data:/app/Data
      - ./DataProtectionKeys:/root/.aspnet/DataProtection-Keys
docker compose up -d

Open http://localhost:8080 and sign in with the seeded admin account.

2. Run locally with .NET 9

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:5107

Bash:

dotnet restore
cp -n SonosControl.Web/Data/config.template.json SonosControl.Web/Data/config.json
dotnet run --project SonosControl.Web --urls http://localhost:5107

Then open http://localhost:5107.

Screenshot Gallery

Desktop

Home Config User Management Logs
Desktop home Desktop config Desktop users Desktop logs

Mobile

Home Config User Management Logs
Mobile home Mobile config Mobile users Mobile logs

Feature Highlights

  • Real-time Sonos dashboard with playback, queue, group, and volume controls.
  • Day-based automation with start/stop windows and optional random media selection.
  • TuneIn and Spotify 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.

Docs Index

Contributing

Contribution workflow, README asset maintenance, and screenshot refresh instructions are documented in CONTRIBUTING.md.

License

SonosControl is released under the Don't Be a Dick Public License.

Useful Links

About

This self-hosted application automates turning a Sonos speaker on and off at daily start and stop times (UTC) set in the config file or the UI. The app also supports playing predefined TuneIn stations or Spotify songs, playlists, and albums.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors