I am using Navidrome & Bonob to self-host my music library for the Sonos from Synology. No SMB1 but you do need Docker.
https://github.com/simojenki/bonob
The below instructions assume Docker is already installed and running on your Synology NAS. I am on DSM 7. Hopefully this helps some folks. BTW - This works on S2 but doesn’t work with S1.
Download deluan/navidrome:latest
(https://hub.docker.com/r/deluan/navidrome)
Create container, click advanced settings
Check enable auto-restart
Choose Volume tab
Add a couple of folders:
Folder: “path to your music/” Mount path: “/music” (Check read-only)
Folder: “/path for container data” Mount path: “/data”
(I just created a “navidrome” folder inside of the docker folder in file station) so mine looks like:
Folder: “docker/navidrome” Mount path: “data”
Choose Network tab
Check Use same network as Docker Host
Choose Environment Tab
Environment – default settings are all good
Apply then next, check “Run this container after the wizard is finished”
Open another browser tab and go to http://ip address of syno:4533 it will ask you to create a user name and password and then you’ll see the library syncing
Back to the Synology
Create container, click advanced settings
Check enable auto-restart
Choose Network tab
Check Use same network as Docker Host
Choose Environment Tab
Add four environment variables:
Variable: Value:
BONOB_SONOS_AUTO_REGISTER true
BONOB_SONOS_SERVICE_NAME Home Server (You can use anything you like)
BONOB_NAVIDROME_URL http://ip address of syno:4533
BONOB_URL http://ip address of syno:4534
Apply then next, check “Run this container after the wizard is finished”
Getting it working with Sonos (Direct from https://github.com/simojenki/bonob)
Initialising service within sonos app
- Configure bonob, make sure to set BONOB_URL. bonob must be accessible from your sonos devices on BONOB_URL, otherwise it will fail to initialise within the sonos app, so make sure you test this in your browser by putting BONOB_URL in the address bar and seeing the bonob information page
- Start bonob,
- Open sonos app on your device
- Settings -> Services & Voice -> + Add a Service
- Select your Music Service, default name is 'bonob', can be overriden with configuration BONOB_SONOS_SERVICE_NAME
- Press 'Add to Sonos' -> 'Linking sonos with bonob' -> Authorize
- Your device should open a browser and you should now see a login screen, enter your navidrome credentials
- You should get 'Login successful!'
- Go back into the sonos app and complete the process
- You should now be able to play music from navidrome
- Within navidrome a new player will be created, 'bonob (username)', so you can configure transcoding specifically for sonos