Walkthrough : Updating the base Roon Docker image on a Synology NAS

This is a companion post to the Walkthrough : Roon in a Docker container on Synology DSM 7 guide I wrote some time back. This new guide assumes that you have previously used the initial walkthrough to get Roon up and running in a Docker container on a Synology NAS.

Thank you to @Steef_de_Bruijn for his continuing stewardship of the docker image that these guides reference. Steef recently updated the debian-slim version used by his Docker container. This guide is intended to help those of us running his image to update to the latest release.

  1. Begin by running the Docker app from the Synology “Main Menu”. Once in the Docker app, navigate to the “Registry” section and search for “steef”. Among the search results, you should see “steefdebruijn/docker-roonserver”.

  1. Select the “steefdebruijn/docker-roonserver” entry in the list and click “Download”. Choose the “latest” tag and click “Select”.

image

  1. While the image is downloading, you may see a download count appear next to the “Image” tab in the navigation section of the Docker app window. This count will disappear once the image has been fully downloaded. Wait for the count to disappear and then proceed.

image

  1. Navigate to the “Container” tab, select your existing roon container, and stop it by selecting Action > Stop.

  2. You’re now going to rename this container to clarify that it is the old version and to make it possible to reuse the current container’s name if you so choose. Select the stopped roon container and click “Edit”.

  3. Rename the container to something like “roon-old”.

  4. [Note : in my original instructions I forgot to note that you should enable auto-restart for your roon container. If the “Enable auto-restart” checkbox is not checked for your existing container, check it now. This setting will carry forward into the updated container.]

  5. Once you’ve made these changes, click “Apply”.

  1. Now select the roon-old container and click Settings > Duplicate Settings. This will bring up a dialog allowing you to specify the name of your updated container. It will propose a name which has “-copy” appended. You can safely choose the name of your original container. In my my case, this is “roon”. Once you’ve done that, click “Apply”.

  2. You can now start the new container by selecting “roon” and then Action > Start.

  3. Congratulations! You’re now running the updated image.

  4. You should now run the roon app on one of your devices and confirm that it works as expected. Once you’ve confirmed that it is running as expected, you can safely delete the old container by selecting “roon-old” and then clicking “Action > Delete”.

If the new container is not running correctly, you can simply stop it and start the old one.

You have the option of leaving your old container in place, but stopped, for as long as you like to confirm that the update works as expected. If you choose to keep your old container around, you should edit its settings and uncheck the “Enable auto-restart” checkbox. If you do not do this, both container instances will start up the next time your Synology restarts and this will obviously create issues. Whatever choice you make, just be sure to not have multiple roon containers running at the same time or with auto-start enabled.

I hope this guide was helpful. Thanks you again to @Steef_de_Bruijn for providing the Docker image which makes this possible.

Thanks for the kind words :blush:

Great guide. Complicated process however. I do not know the Synology system but is there a way that the underlying image can be updated in an easier way (As in my systemd setup mentioned in the readme for example)?

The reason I ask is because I hope to find the time to update the image a bit more often to eliminate security issues detected in the image.

If updating is not friction free I guess a lot of users will just not do that resulting in a lot of potential vulnerable installations around the globe. The risks will be small I guess because most installations will be in-house only, but still…

This has nothing to do with the Roon core version of course. That will auto-update regardless of the docker container it is running in.

Steef

Hi, Steef.

I do believe that it might be possible to do an update by downloading the latest image, as I describe, and then doing a “Reset” on it. I’m not 100% sure. Reset might save a couple of steps but you’d still need to find and update the container in the Registry and you’d give up the ability to verify that the new container functions before committing to it.

Portainer and Watchtower are also options:

Portainer : How to Install Portainer on a Synology NAS
Watchtower: How to Install Watchtower on Your Synology NAS – Marius Hosting

I’m conservative about running software to manage my software but if someone wants their Roon container to update automatically, those two options can both do it.

Great addition Greg. People can choose :+1: