Roon Extension Manager 1.x (currently at v1.1.2)

The Roon Extension Manager needs access to the local Docker installation it runs on (-v /var/run/docker.sock:/var/run/docker.sock). Please check that the path is correct. If it is, then it might be that the user has insufficient rights to access docker.sock. Looks to me like the documentation on the Docker Hub page is outdated, please refer to the GitHub wiki documentation instead (hint: --group-add <docker-gid>).

Note: It is probably easier to use Docker Compose when available (seems like unraid supports it) instead of the command line, but this is just my personal opinion.

1 Like

I think I found the mistake. But it’s not that 100% described at the docker hub page.

At unraid terminal:

stat -c '%g' /var/run/docker.sock

This gives you a docker-group ID.

Then you easy install it by adding the group-add phrase to the docker run command:

docker run -d --network host --restart unless-stopped --name roon-extension-manager --group-add 281 --hostname Docker -v roon-extensions:/root/.RoonExtensions/lib -v /var/run/docker.sock:/var/run/docker.sock -e "TZ=Europe/Berlin" theappgineer/roon-extension-manager:v1.x-standalone

In my case it was GID 281. Everything runs just fine.

Hey Guys, just running into another issue.

Is it possible to run the extension gateway on another port than 8000 ? Theres some other service on my Server running on this port.

You should be able to modify the port number in the icecast.xml file within the container. First you have to get the file out:

docker cp entrypoint-gateway:/etc/icecast2/icecast.xml .

Then you can edit the file, the port number is specified at line 68. Next you copy the file back into the container.

docker cp icecast.xml entrypoint-gateway:/etc/icecast2/

Last step is to restart the Entrypoint Gateway:

docker restart entrypoint-gateway

This change should last till an update is performed. I have put port setup on the list for a future update of the extension.

2 Likes

Thanks for the heads up guys! I replaced the description on the Docker Hub page with a link to the project Wiki.

Thank you for all your hard work on this. The level of support people are getting is heroic. I’ve made an attempt at getting the DietPi VM working on my Mac mini to no avail, My ROCK is on a NUC. I’m reasonably techy, but this seems a bit beyond me. Should I sit tight and wait for the non-techy installation comes along? I’m going to try plugging an optical drive into it to see if that changes anything. I somehow doubt it. :slight_smile: Thank you.

I’m sorry, bad form to reply to myself, but … I got the VM to run … but it can’t resolve the host ssh.dietpi thingy. Is this perhaps because the site isn’t available, or have I don’t something wrong somewhere? Sorry for being such a duffer.

If you can’t resolve the site, it’s likely a DNS issue.
Make sure you have DNS set up and working. Usually it will come from DHCP but I am not much 9a Docker person.

You should be able to test it on dietpi using the command as follows.

nslookup google.com

Also test that external networking is working by using the following command

ping google.com

Both of those should return a result and not an error.

A Raspberry pi is the easiest way to get this working, but if you don’t have one, they are hard to get at the moment.

1 Like

Thank you. I tried it on my Windows machine instead of the Mac, and the installation went ahead. Technically I guess it worked, but I’m running ROCK on a NUC, and none of the versions of Roon I run have extensions available to install. I guess it would work if I ran it on the VM. I was wondering how that would make things change on other installations. It didn’t. :frowning: . Thank you for the suggestion.

1 Like

I haven’t needed to use extension manager for a considerable period so need to remove E.M. version 0.11.9 from my core (Win 11, 64 pro) are there any instructions for safe removal?

You can find instructions here.

Thanks for your help, :pray:t4:

1 Like

Having researched more about automated CD ripping, I’m abandoning the idea of using the CD ripping extension. It would only be helpful for releases that aren’t readily available to stream, and those are unlikely to be matched with metadata. It also looks like Roon never adds metadata to files, but saves it in the database - fits with the “we don’t change your file” philosophy. Even things like the Bluesound Vault only add date and time of rip if it can’t find the metadata. I’ve now had hours - probably days - using the amazing, MusicBrainz Picard, software to organise my ripped library from 2 decades ago. If you have lots of collections, and more niche titles in your library, that’s the best way to go for a happily tagged outcome. I appreciate that the extensions exist. You’re all very clever.

1 Like

4 posts were split to a new topic: Issue with Roon API and Roon 2.0

Hi @Jan_Koudijs,
would you please be so kind taking a look here: Roon Extension: Deep Harmony - rich feature set for Logitech Harmony - Tinkering - Roon Labs Community

Same Extension-Manager release same Repository, different entries in category menu ???

Thanks DrCWO

HI @Jan_Koudijs,
Would it be possible to add another Roon-extension in your Roon Extension Manager?
I would like to see the Roon-extension-rotel by @Boris_Schaedler added in your app. (see: Roon Extension: Rotel Volume/Source Control). That would be for me a huge benefit. Then one RPI should become free.
Thank you so much, Frank.

1 Like

I got pretty far without having to need to ask for guidance, I have docker running both Roon and the extension service also. I can install packages but once installed they dont appear in the extension panel for me to edit settings. The log reports installed and started. Any guidance would be super appreciated. thank you in advance for all the hard work that goers into this awesome ecosystem.

roon.service

[Unit]
Description=docker for roon core
Requires=docker.service
After=docker.service
Before=roon-ext.service

[Service]
Restart=on-failure
RestartSec=10
ExecStartPre=-/usr/bin/docker stop roon
ExecStartPre=-/usr/bin/docker rm roon
ExecStart=/usr/bin/docker run \
            --name roon \
            --network ipnet70 \
            --ip 192.168.70.12 \
            --dns 192.168.70.1 \
            -e TZ="America/Los_Angeles" \
            -v /var/lib/roon-data/app:/app \
            -v /var/lib/roon-data/data:/data \
            -v /mnt/Music:/music \
            -v /var/lib/roon-data/backups:/backup \
            steefdebruijn/docker-roonserver:latest

ExecStop=/usr/bin/docker stop roon

[Install]
WantedBy=multi-user.target

roon-extensions.service

[Unit]
Description=docker for roon extension manager
Requires=docker.service
After=docker.service

[Service]
Restart=on-failure
RestartSec=10
ExecStartPre=-/usr/bin/docker stop roon-ext
ExecStartPre=-/usr/bin/docker rm roon-ext
ExecStart=/usr/bin/docker run \
            --name roon-ext \
            --hostname roon-ext \
            --network ipnet70 \
            --ip 192.168.70.28 \
            --dns 192.168.70.1 \
            --group-add 976 \
            -e “TZ=America/Los_Angeles” \
            -v /var/lib/roonext-data:/home/node/.rem/ \
            -v /var/run/docker.sock:/var/run/docker.sock \
            theappgineer/roon-extension-manager:v1.x-standalone

ExecStop=/usr/bin/docker stop roon-ext

[Install]
WantedBy=multi-user.target

Log of restart and install on my pastebin

And an image of Roon here

thanks for any guidance

I’m wondering if this is caused by a difference in network configuration between the Extension Manager and Roon core and the installed extensions. The containers created by the Extension Manager use network host while your service files specify a network configuration which might differ from host making them not discoverable.

It might be worth a try to see what happens if you also use network host for the Extension Manager and Roon core.

Sounds plausible, thank you, I would have to reconfiguration some core infra to enable 172.17/16 routing. My infra has been built around macvlan based containers to enable isolatation of containers and traffic.
I’m travelling this week for work but I’ll look into how to route 172.17/16 traffic to verify.

Hi Jan, time has been limited to test, Im only back home for 24 hours but I spun up the RHEOS container directly in the 192.168.70.x/24 subnet and everything functioned correctly. I think you’re right on the network identification. Is it viable to add support for macvlan docker setups to the extension manager? I’ve seen another program that supports both host and macvlan setup by passing in some environment variable, when I can find it again I can share the code with you if that would help?