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] RoonServer (Photon OS)

Featured Replies

roon_logo.png

Edit: I am no longer maintaining this container. Please see: https://help.roonlabs.com/portal/en/kb/articles/installing-the-roon-server-via-docker for using the Official Roon Docker.

It's come to my attention that Roon is developing their own container, so there's really no point in me supporting this anymore. I also don't regularly use Roon anymore, but the container will continue to update because it's automated through GitHub. Anyone is free to use this while it continues to work. And then when Roon releases their container, I would strongly recommend moving over to that. I may consider using Roon again when they actually invest in their platform. Hopefully they do. It seems like they may be starting to again.

Also, the container updating does not update Roon, it just updates the base image and dependencies. Roon always updates from inside Roon.

Roon is a premium music management and streaming platform designed for audiophiles and serious music lovers. It provides a rich, visually engaging interface that transforms digital music collections into a highly interactive experience, combining local files, streaming services like TIDAL and Qobuz, and extensive metadata to create a centralized, deeply informative library.

This is a support thread for my RoonServer docker built on PhotonOS.

Github Repo: https://github.com/mackid1993/docker-roonserver

For detailed info about the container, please read the ReadMe on Github.

Docker Hub Repo: https://hub.docker.com/r/mackid1993/docker-roonserver/

For support and troubleshooting related to Roon or RoonServer itself please visit: https://community.roonlabs.com

Please be aware that Roon Labs does not provide official support for Roon running under Docker and any official support requests made to them may require you to reproduce your issue on a supported platform.

This thread is intended for support related to the container itself as it relates to Unraid, not Roon specifically. Please do not ask general questions about Roon here.

Differences Between steefdebruijn/docker-roonserver

  • This container uses Photon OS instead of Debian Slim (https://vmware.github.io/photon/). Photon OS is extremely lightweight and many in the Roon community have found that resource usage (particularly memory) is much lower with Photon OS than with Debian Slim.

  • A new image will be pushed on the first of every month using GitHub Actions, this happens roughly at 12 a.m. EST or 1 a.m. EDT. However, this means that this container may also potentially break things as it is being updated more frequently. It's a trade-off between greater security and potentially causing compatibility issues if one of the dependencies causes an issue with Roon. If you are using Roon ARC, and have a port open on your router, it is a good idea to have the container up to date with the latest security fixes.

  • This container also uses the latest FFmpeg version available from the master branch at the time it was pushed. This ideally allows for the latest bug fixes and features in FFmpeg to be made available. However, given that it's the latest version, there is a possibility that there could be a bug introduced by the FFmpeg developers.

  • Both philosophies obviously have trade-offs, and I want to make that clear here before anyone chooses to use this container. It's a choice between frequent patching and more time between updates but potentially greater stability.

  • In the case of Unraid, I am maintaining the template as well as the Docker container. In the case of the other container, the maintainer of the template is different than the maintainer of the Docker container. They have no control over when the Docker gets updated.

The last three tags will be always kept, so if an update breaks something you may revert manually to the last working tag until a solution is published. I am a Roon Lifetime license holder and use it everyday so if something breaks, believe me I'll know and I'll be doing my best to fix it as soon as I can, since I want Roon to work as much as everyone else does.

This is a drop-in replacement for the existing RoonServer docker, so if you have that running you may simply change the template to point to: mackid1993/docker-roonserver if you would like to switch.

This container is ultimately derived from steefdebruijn/docker-roonserver so all paths are the same. You can remove the old container and add this container and just set /backup and /music if you want it as well.

This container would not be possible without the work of Steef de Bruijn and David Ferreira on their RoonServer containers. It is ultimately derived from those containers, now with some modifications. I really appreciate all of the work both of those individuals have done for the Roon/Home Lab community. RoonServer on Photon OS would not have been possible without https://hub.docker.com/r/davindisko/roon-photon.

Edited by mackid1993

  • Author

RESERVED

Edited by mackid1993

  • Author

RESERVED

  • Author

RESERVED

  • 2 weeks later...

Hi,

Do we need to have a subscription for this to work?

  • Author
42 minutes ago, Raykai said:

Hi,

Do we need to have a subscription for this to work?

Yes, Roon is paid software. This thread is for issues with the container specifically. For questions about Roon it's best to visit the Roon community.

Edited by mackid1993

Roon Lifetime subscriber here as well. Been using your template for a few months now without issue. I'll let you know if anything breaks, as I use Roon daily as well. 🎶

  • Author
Just now, brawny said:

Roon Lifetime subscriber here as well. Been using your template for a few months now without issue. I'll let you know if anything breaks, as I use Roon daily as well. 🎶

The only concern I have is if the website that it pulls FFmpeg from goes down for some reason and the container builds without FFmpeg. However, Photon doesn't have a native FFmpeg binary in its package manager. So this is really the only way to do it. Fortunately, it seems like this guy's website is like the default place to get FFmpeg from pre-built, so I doubt that it'll be an issue. However, that's the risk with automation. What you would do is just go over to Docker Hub and append one of the older tags to the template in Unraid's Docker manager, and it would just pull the older version of the Docker container, for example, the one from the previous month. If that were to happen, it would be pretty obvious, and I would look for a way to fix it, obviously. I did some research, and there are other people that provide FFmpeg static builds, so we would have a solution pretty quickly.

The only other issue I see potentially is Photon OS is made by VMware which is owned by Broadcom. So if Broadcom were to cause some sort of issue, then obviously we'd have to probably switch to Debian Slim like the other container. Although I'd look into Alpine as I believe that is very lightweight as well. If that were ever to happen, I would probably disable the auto updates until I could figure out what to do.

Edited by mackid1993

So what is the difference with steefdebruijn/docker-roonserver?

  • Author
14 hours ago, Jan Werbinski said:

So what is the difference with steefdebruijn/docker-roonserver?

If you look at the original post, I updated it to list out more clearly what the differences are. This was a good question, so I felt like it should be addressed properly.

I tried both versions on my test Unraid. First old one, then yours. Both seems to be working OK.

  • Author

Just an FYI, sorry for pushing several updates over the last day. I realized the original FFmpeg distribution that this container was using hasn't been updated since 2024. I switched to an actively maintained one, and that just required a little bit of testing, so I ended up pushing a few more tags than the one a month I normally would have. Everything should work fine now, but if anyone notices anything weird, please post here. To switch, I had to make a lot of changes to the Dockerfile. I also threw in a check to make sure FFmpeg actually works. If it doesn't work, the build will fail, which is good because I don't want to push a build where FFmpeg isn't working.

Edited by mackid1993

  • 4 weeks later...

Thanks for this. There seems to be a memory leak - the container is consuming 2.3GB of RAM after a week. For now I will restart it nightly, but was wondering if this is a known issue?

  • Author
6 hours ago, jayphen said:

Thanks for this. There seems to be a memory leak - the container is consuming 2.3GB of RAM after a week. For now I will restart it nightly, but was wondering if this is a known issue?

That's not the container. It's Roon that does that.

  • Author
8 hours ago, jayphen said:

Thanks for this. There seems to be a memory leak - the container is consuming 2.3GB of RAM after a week. For now I will restart it nightly, but was wondering if this is a known issue?

Sorry, I just saw Roon just released a new early access version that addresses a memory leak with Chromecast devices. I'm not sure if that's applicable to you.

https://community.roonlabs.com/t/earlyaccess-roonserver-2-53-build-1541-and-arc-1-68-build-361-is-live/302420

Thanks for your Docker Container.

Question is only the networktype "Host" possible? Or is "Bridge" also an option?

Tried to get access via the NGINX Proxy manager without success.

Any Ideas?

Reason is I want to have Access from my mobile over the Internet when I´m not at home.

Edited by m.hoehndorf

  • Author

You can test. I've only used host.

With the bridge as networktype I get a "502 Bad Gateway".

Tried https and http.

Solved the problem, Roon ARC is the Key to success.

Edited by m.hoehndorf

  • Author
9 hours ago, m.hoehndorf said:

With the bridge as networktype I get a "502 Bad Gateway".

Tried https and http.

Solved the problem, Roon ARC is the Key to success.

I mean a reverse proxy isn't going to really work with Roon (at all). This again has nothing to do with the container is should be addressed on the Roon forums. Most issues are not related to the container and are Roon issues.

Keep in mind that this Docker does not contain Roon at all. That will be against Roon's licensing. The container contains the base OS and dependencies needed for Roon. Roon is downloaded on first start and stored outside of the image. There is very little that could possibly go wrong with the container. It's really very simple. The only Issues that could possibly occur as a Photon OS update or a dependency update, but those are generally unlikely.

  • 5 months later...

Hello! Just trying out your docker container. Thanks for this BTW!

Quick question:

I will eventually need to use this container with Tailscale in order to be able to use it with Roon ARC, since I am behind CGNAT.

In the installation window of the container, I see this: Use Tailscale: Option disabled as Network type is not bridge or custom

Network Type by default is set to Host.

So, the question is, if I leave it at host, will I be able to use Tailscale on it for Roon ARC?

  • Author

It's not going to work in bridge mode and you can't use Tailscale inside docker in host mode. For ARC what you'll want to do is install Tailscale on Unraid and use that IP address. Set up subnet routing. You should be good to go with subnet routing.

Thanks man. I will try to set everything up in the upcoming weeks since some free time will need to be found. I will post back if any new questions appear!

  • 2 months later...

Is it possible to add a SMB share in this container?

  • 2 weeks later...

@mackid1993 when the Roon app shows a server update, we should ignore that correct? And only run the version you put out? Or does this allow us to use the update function inside Roon app?

  • Author

I'm not really supporting this anymore. I don't even use Roon anymore. It's kind of gotten to become garbage.
Regardless, I just kind of have it on maintenance mode. They're making their own container, so this is going to be pointless soon. It would be illegal for me to redistribute their binaries. So like with any container for Roon, you update Roon from inside Roon. The only updates that this container pushes are for the base image and any dependencies. And for the other guy, you add SMB shares from inside Roon like you do with Roon.

  • trurl locked this topic
Guest
This topic is now closed to further replies.

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.