How to: Install Roon Extension Manager on QNAP

Jan,

Thx for walking me through this. Yes, I’m used the QNAP Container Station to create the container (steps 1-4).

I did as you suggested, found “theappgineer/roon-extension-manager” and created it following steps 4-6 in Mark’s post. Unfortunately instead of a Linux command prompt I kept getting a blank black screen after pressing Enter. I even tried running the first command in step 8 “apt-get update” but only got the cursor with a blank screen and no command prompt.

It’s interesting because when I followed the original instructions, I got the Linux command prompt. What am I not doing correctly?

I even stopped the container, removed it, and created a new one but got the same result: no Linux command prompt. Thx for your patience.

You don’t need the command prompt or any of the manual install commands, everything is already included in the container. After the container is created you should move over to your Roon Remote and go to Settings→Extensions where the Extension Manager should appear.

Jan,

Thank you! It works great. Found the random track/album play extension and am now very excited. I really don’t like listening to random tracks b/c of the nature of my content (lots of classic rock, live ablums, etc.) and prefer to listen to albums all the way through. I’ll now have the ability to “mindlessly” listen to albums. Thx again for the time and patience.

1 Like

You’re welcome. Enjoy!

Jan,

Sorry to come back. At some point the container stopped running on the NAS. I went away but had left Roon running on my MBP (Roon Core is on my NAS) but stopped playing any music. When I returned, there was nothing in the queue and couldn’t find the the extension in Settings. I went to the NAS and saw that the container had stopped running with a message of “404: Not Found” in the console. Everything started working again after I started the container manually. Is this normal behavior? Thx in advance for your continued help.

Hi Pacoinmass,

I think the restart option for Docker is missing. ContainerStation doesn’t offer a way to set this option in the GUI. Please use SSH or Docker compose to install the extension on a QNAP-NAS like I described in this post:

BlackJack,

Thx for the reply. I’m very new and unfamiliar/uncomfortable with console operations so pls forgive my questions.

I created a Docker station through the ContainerStation on my QNAP. I then searched for the roon-extention-manager-1 image and created a new container. I didn’t use the Docker commands. I’ve also updated the extension manually through Roon.

Should I also be typing in the “docker compose configuration” you showed? If so, can I copy it directly in the Docker console on the QNAP (through ContainerStore overview tab)? Or do I have to customize the configuration based on my network name, host name, etc.?

Finally, I found an option for automatic restart. Does that mean my issue will now be resolved?

Thanks for your help and patience.

@BlackJack is right, you have to configure the restart policy of the container. It should be possible to change the restart policy on an already created/running container.

First step is to get console access on the QNAP. I don’t have one myself so I don’t know if this can be done via the web interface, but it surely can be done via ssh. These instructions might help to get connected.

Next you can set the restart policy by running the following command in the console:

docker update --restart unless-stopped <name of container>

Replace <name of container> with the name that you gave or was given to the Extension Manager container.

Jan and BlackJack,

Thank you. Here’s what I’ve done:

and this is what it looks like in the QNAP GUI:

I’ve closed both tabs. I hope this works! :slightly_smiling_face: I’m just an audiophile and wasn’t expecting to learn about containers, docker, etc! Always enjoy the learning part of our hobby however.

We are not there yet, the command has to be entered from outside the container. I expect that you use a laptop or PC to connect to the web interface of the NAS. Use that device and try to follow the steps in the instructions I linked to. You have to find the IP address of you NAS, (you might already use this to access the web interface) and use that to connect.

Let me know how far you get.

Jan,

Thx for the live support! Will do that now.

Here’s what Terminal on my MBP shows after following the instructions:

The 2nd line “roon-extension-manager-1” was the response I received after I entered the first line: “docker update --restart unless-stopped roon-extension-manager-1”. (“roon-extension-manager-1” is the name of the container). I’ll now resart the container.

Here’s what it now shows in the QNAP GUI:

Should I delete the same command int the “console” part of the GUI? I don’t know what that does. Thx.

That’s exactly what we need, now we know the command was understood!
Everything should be fine now.

Better to remove it, it might lead to confusion in the future.

Thank you for confirming! The only way for me to delete the command in the console is to remove the container, reinstall, etc. That should be easily done now that I have the steps! Once I’m done I’ll post the steps for others.

Installing Roon Extension Manager on QNAP: For Novices Like Me!

Thx to @Jan_Koudijs, @BlackJack, and @anon55914447 for help along the way, including instructions (many of which are copied below).

Step 1: Use the App Center in your QNAP to find and install ContainerStation:

The How To:

  1. If you haven’t already, go ahead and install Container Station from QNAP’s AppCenter.
  2. Open Container Station and on the left hand side in the Management tab, click Create
  3. In the search box, type “theappgineer/roon-extension-manager:latest” and you’ll see this:

You’ll also see a list of others. Select the first one “Roon Extension for managing Roon Extensions”.
4. Click Create.
5. Now we’ll get a pop-up where we need to do our first bit of config. Click on Advanced Settings and navigate to the Network tab.
6. Change the Network Mode dropdown to Host. That’s all the config we need to do here so go ahead and click Create again. After you have done that we’ll have a Docker container running a vanilla and very stripped down Linux ready to go!
After a few seconds a background task will complete and your container is now running. Head back to the Container Station Overview tab and you’ll see the Container running - denoted by the green cube under Status.

Step 2: Enable Automatic Restart of the Container.

This step requires one to update the container from outside the container, so don’t use the “console” button in the QNAP ContainerStation Overview tab.

  1. If you’re not sure how to access the QNAP directly from a Mac or PC, follow these instructions:

https://www.qnap.com/en/how-to/knowledge-base/article/how-to-access-qnap-nas-by-ssh/.

  1. Once you’re at the NAS command prompt, type this command: “docker update --restart unless-stopped ” without the quotes.

    Where it says put in the actual name of the container created under step 1 above. For me that was: “roon-extension-manager-1”. If you’re not sure, go to the Overview tab in the ContainerStation and note the name. Don’t use the “<” and “>” characters when entering the command.

  2. Press Enter.

  3. You’ll get a response back. For me it was the name of my container.

  4. Exit Terminal or PuTTY if using Windows.

Step 3: Installing Extension Manager in Roon and Random Radio

  1. In Roon, go to Settings and then Extensions.

  2. Click on Settings for Roon Extension Manager.

  3. Under Category, select Playback

  4. Under Playback Extension, select Random Radio

  5. Under Action, select Install.

  6. Press Save

    Once installed, you can configure the settings for Random Radio. See below for specific instructions, etc.:

Step 4: Enjoy random albums!

3 Likes

Hello, waiting for beta testing of version 2.0 Web Controller I installed on my Qnap Serwer Roon Extension manager. Unfortunately, the Qnap NAS uses the “: 8080” port for configuration, which is the same one that the | Web Controller uses. How can this be changed so that the Web controller uses e.g. port: 8088?
As previously mentioned, Roon Web Controller is installed on my Qnap server.
Regards Robert Tota

This can be done via port mapping as confirmed in this post.

If you created the REM container via the command line you, additionally, have to supply the -p option in the docker run command:

-p 8088:8080

This setting might also be available in the QNAP web interface, maybe another QNAP user can comment on that (not a user myself).

The above method is documented as working as well as the use of a configuration file (the method I use) for the current stable release of the extension (see here). Not sure about the alpha release though.

Path to config file on QNAP: /Container/container-station-data/lib/docker/volumes/[Optional App Name]_roon-extensions/_data/node_modules/roon-web-controller/config

Shouldn’t the question better be posted in the respective Roon Web Controller thread (stable|alpha)?

I see it’s already there:

Thank you for the hint. I will install WinSCP and find the right folder thanks to your hint to change the port on which the Web Controller is listening. For now I’m using the stable version of Web Controller 1.2.13. I look forward to the release of a more stable version than alpha because I’m worried about stability.
Thanks again Robert Tota

@Jan_Koudijs

It seems I’m not able to download to my QNAP. What am I missing ?

EDIT.

I changed the search.

In addition this one was also possible to choose. I suppose it’s not the one.