Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

(Support) Sonos Panel

Featured Replies

Sonos Panel

Sonos Panel is a self-hosted, touchscreen-friendly web app for controlling a whole-house Sonos system. It's built for cheap wall-mounted tablets: tap a room, tap a song, done. Everything runs locally on your own server. No cloud, no account, no internet dependency.

It also includes a built-in music library that streams your own files straight to the speakers, which sidesteps the Sonos 65,000-track index limit entirely. My own library is over 160,000 tracks and all of it is playable.

Available in Community Applications. Search for "Sonos Panel".

screenshot-rooms.png

screenshot-nowplaying.png

screenshot-group.png

screenshot-queue.png

screenshot-library.png

=== FEATURES ===

- Every room in your system, tap to control. Grouped rooms expand under their group head

- Group Rooms dialog like the official app. The room you tap becomes the group coordinator, plus Party Mode and saved group presets

- Play/pause/skip/seek, per-room and group volume, per-speaker EQ, sleep timers, shuffle, repeat, crossfade

- Full queue management: view, jump, remove, drag to reorder, clear, save the queue as a playlist. Updates live from speaker events

- Sonos Favorites and Playlists (create, rename, delete, add and remove tracks), plus Line-In sources

- Multi-account support. If your household has several logins for one service, each gets its own list with editable names, so nobody kills anyone else's stream

- Network Music Library: browse by Artists, Albums, Songs, Genres, Composers, Folders, or Recently Added, with unified search and self-healing album art

- Optional 4-digit passcode that locks structural changes (deleting playlists, editing groups) behind an onscreen keypad while leaving playback open for guests

- Ambient screensaver, plus up to 3 extra tabs that embed other local dashboards like Home Assistant or Hubitat

- Works with both Sonos S1 and S2 systems

=== REQUIREMENTS ===

- A Sonos system (S1 or S2)

- A free IP address on your LAN for the container

- Optional: a folder of music files if you want the Network Music Library

=== INSTALL ===

1. In Unraid, go to Settings > Docker > Network Types and set br0 to ipvlan mode. This is strongly recommended for Sonos.

2. Install Sonos Panel from Community Applications.

3. Set Network Type to br0 and set Fixed IP Address to a free IP on your LAN, outside your router's DHCP range.

4. Optionally set Music Path to a folder of music files.

5. Apply, then open http://<the-ip-you-chose>/ . No port number needed.

IMPORTANT: bridge networking will not work. Sonos discovery uses SSDP multicast, which Docker's bridge network silently blocks. The container will start fine and simply never find any speakers. The panel also needs its own LAN address so the speakers can stream local music back from it.

=== KEY SETTINGS ===

Sonos System - s2 (default) or s1. One container controls one generation, since S1 and S2 are separate Sonos households that cannot mix. To control both, install the container twice with different IPs and appdata paths.

Music Path - read-only folder of music files. Enables the Network Music Library.

Passcode - optional 4-digit code. Leave blank to disable the lock entirely and leave everything unlocked.

Rescan Schedule - daily@HH:MM or weekly@DAY@HH:MM. A quick incremental rescan always runs at container start regardless.

Public Base URL - leave blank. It auto-detects correctly on br0 and host networking. Only set it if speakers fail to play local files.

=== MUSIC FORMAT LIMITS ===

The scanner only indexes files your speakers can actually play:

MP3 / AAC / M4A / OGG: up to 320 kbps

WMA: up to 355 kbps (no WMA Lossless)

FLAC / ALAC: up to 24-bit on S2, 16-bit on S1

AIFF / WAV: up to 16-bit

All lossless: 48 kHz sample rate maximum

Anything over those limits is skipped, not added. Hi-res files at 88.2, 96, or 192 kHz are the usual case. Every skipped file is listed with its reason in incompatible-files.txt in the appdata folder. The panel does not convert files.

=== TROUBLESHOOTING ===

No speakers found

Almost always networking. Confirm Network Type is br0 with a fixed IP, and that br0 is set to ipvlan under Settings > Docker. Bridge mode cannot work.

Local music files won't play

Check incompatible-files.txt in your appdata folder first, since the file may be over the format limits above. If files are indexed but still silent, the speakers may not be able to reach the panel. Try setting Public Base URL to http://<container-ip> explicitly.

Music is on another machine (NAS, Windows share)

Mount it on the Unraid host first using Unassigned Devices, then point Music Path at /mnt/remotes/... . A Windows-style \\server\share path will not work inside a container.

A music service shows the wrong name or a generic icon

The container log prints the exact service name Sonos reports every time a source plays, along with the key you need. Look for a line starting with "Play source:". Add that key to public/icons/music_services.js with a display name, drop in a matching PNG, and refresh. No code changes or rebuild needed.

Some rooms are missing

If you have both S1 and S2 hardware, check the Sonos System setting. Each container only shows one generation, and the startup log lists exactly which devices were included or excluded and why.

First library scan is slow

Expected. A large library takes several minutes the first time. Every scan after that is incremental, so rescans take seconds.

=== LINKS ===

Project and source: https://github.com/almulder/Sonos_Panel

Issues and bug reports: https://github.com/almulder/Sonos_Panel/issues

License: MIT

=== REPORTING PROBLEMS ===

Post here or open a GitHub issue. Either is fine. To help me help you, please include:

- Your Unraid version and the container's network type

- Whether your Sonos system is S1 or S2

- The relevant container log output (Docker tab, click the icon, Logs)

- What you expected versus what happened

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.