Roon docker, unRaid Roon support, "steefdebruijn/docker-roonserver"


Recommended Posts

@dkerlee I believe @NickAll is referring to this. That appears to be for installing Roon bare metal on a dedicated PC like a NUC. I'm going to try installing Roon's server software for Ubuntu on a Ubuntu VM via Unraid and restore my backups from the Roon docker I'm running right now so I can push Roon updates without fear of trashing my Roon server. NO whammies! 😁🤞 Is this the best place to start for steps on installing it on a Unbuntu VM?

Edited by realdiel
Link to comment
On 9/18/2020 at 1:49 AM, realdiel said:

@dkerlee I believe @NickAll is referring to this. That appears to be for installing Roon bare metal on a dedicated PC like a NUC. I'm going to try installing Roon's server software for Ubuntu on a Ubuntu VM via Unraid and restore my backups from the Roon docker I'm running right now so I can push Roon updates without fear of trashing my Roon server. NO whammies! 😁🤞 Is this the best place to start for steps on installing it on a Unbuntu VM?

yes that is what I was talking about. I was trying to use that image to set up an unraid vm but without success. I would like to try that because that should be somehow optimized. 

Link to comment

Hey folks, just to let you know, I've made an UNRAID template for this RoonServer docker that should be showing up in Community Applications now (since I have a linked template repo). Thanks for your work getting this working @dkerlee. Cheers and feel free to let me know if you have any problems here: 

 

Edited by xthursdayx
Link to comment
17 minutes ago, dkerlee said:

@xthursdayx really cool. Before I dump this one, and switch to yours, can you tell me about it? I only have a remedial understanding of Docker and how that works, and it appears that you're using the same image that "roon-server" uses? Why is one different than the other? Thanks again!

 

991819750_dockersroon.thumb.png.e044059f04799ff57636f17b4f99a96c.png

If it's from the same repo (e.g. "steefdebruijn/docker-roonserver") then no diff. What he did was just to create Unraid template for the docker so the necessary mappings are visible.

  • Like 1
Link to comment
15 hours ago, testdasi said:

If it's from the same repo (e.g. "steefdebruijn/docker-roonserver") then no diff. What he did was just to create Unraid template for the docker so the necessary mappings are visible.

Exactly, I just made a template for other folks since people seem to stumble over creating their own volume mappings. No need to dump your existing config as it's probably the same as the template (minus the container icon). 

Link to comment

I've been using the Roon docker image from the ronch repository. This seems to have disappeared now. Can I move to this new version without losing everything? Can I take a Roon backup and restore it in the new container?

 

I am also tempted to just move to a VM. I'm having intermittent disconnections from the core and like others have noted above, updates wipe out all my settings and metadata.

Link to comment
On 9/21/2020 at 4:53 PM, wcg66 said:

I've been using the Roon docker image from the ronch repository. This seems to have disappeared now. Can I move to this new version without losing everything? Can I take a Roon backup and restore it in the new container?

 

I am also tempted to just move to a VM. I'm having intermittent disconnections from the core and like others have noted above, updates wipe out all my settings and metadata.

I don't know anything about the ronch Roon docker image, but I do know that Roon is designed to be backed up and restored, so as long as you've made a recent backup you should be able to restore it in your new CORE without any issues. From what I understand, it doesn't really matter what platform you run Roon Server or Core on - Docker, VM, Windows laptop, etc - the backups are not platform dependent, they're just dependent on the Roon Server software. 

 

A VM just to run Roon seems like a bit of an overkill to me, but I haven't had any issues with connectivity or anything (so far at least), so I can't really speak to whether a VM would be more stable in your network. 

  • Like 1
Link to comment
33 minutes ago, xthursdayx said:

A VM just to run Roon seems like a bit of an overkill to me, but I haven't had any issues with connectivity or anything (so far at least), so I can't really speak to whether a VM would be more stable in your network. 

Thanks. I'll give it (new container) a try, I can keep the other container stopped for now. The connectivity problems are recent and the only thing I can think of is my recent addition of a Pi Hole to the network. However, I don't see DNS requests being rejected specifically. I've looked on the Room community site and they seem to point fingers at various network setups interfering with the multicast it uses. I will also try setting the DNS to something other than the Pi Hole to see if that helps.

Edited by wcg66
Link to comment
4 hours ago, wcg66 said:

Thanks. I'll give it (new container) a try, I can keep the other container stopped for now. The connectivity problems are recent and the only thing I can think of is my recent addition of a Pi Hole to the network. However, I don't see DNS requests being rejected specifically. I've looked on the Room community site and they seem to point fingers at various network setups interfering with the multicast it uses. I will also try setting the DNS to something other than the Pi Hole to see if that helps.

To be honest, I ran into a lot of random DNS and network connectivity issues when I was trying out running Pi Hole on UNRAID, so who knows. I now run a separate pfSense machine as a firewall and router and have never looked back 😁

 

It shouldn't matter at all, but one thing you could try, if you're interested in troubleshooting, is to map the ports RoonServer users rather than using the `--net=host` setting. That way at least you could tell your router specifically which ports Roon traffic will be on (if that matters in your network environment). You won't be able to change the ports because Roon clients don't have the option to use different port connections, but it still might be interesting.

 

I am going to try it out just to see if it works, so I just forked steefdebruijn's image and changed up the Dockerfile to expose the ports Roon uses for discovering and connecting/transferring data (9003/udp for discovery and 9100-9200/tcp for connection and playback), I'll build it and throw it up on Docker Hub just to try it out for myself. If you think that mapping the ports would be of any use in diagnosing your connection problems and want to try it but aren't sure how to pull the alternative version and change your UNRAID Roon docker template just ask and I can tell you how. 

 

EDIT: So you know, it works, but it's pretty impractical to do since you have make sure that none of the ports between 9100 and 9200 are already mapped. 

Edited by xthursdayx
  • Thanks 1
Link to comment
10 hours ago, xthursdayx said:

If you think that mapping the ports would be of any use in diagnosing your connection problems and want to try it but aren't sure how to pull the alternative version and change your UNRAID Roon docker template just ask and I can tell you how. 

 

EDIT: So you know, it works, but it's pretty impractical to do since you have make sure that none of the ports between 9100 and 9200 are already mapped. 

If you can let me know what the settings are when you've figured it out, I'll give it a try.

 

I'm running my Pi Hole on a small VM due to issues I had with the containers not getting the correct DNS settings. It works fine for everything else it seems but it might be related to the Roon issues. I will experiment with turning it off and see if Roon behaves. I see disconnects quite regularly - the Roon UI suddenly goes blank and you get connection message so it's noticeable even in the background.

Link to comment

I can confirm that moving to this container from the ronch version works fine. I installed and restored from the most recent backup and everything is there. I'll update if I continue to see disconnections (which are most likely unrelated to changing containers, right? :)

 

EDIT: I can confirm that this version disconnects as well. At least I'm on more current Docker image.

Edited by wcg66
Link to comment

@wcg66 pihole huh. I can relate to that, and perhaps that does have something to do with some Roon discovery issues. Short story for ya!

I was also running pihole under a docker. I was doing it because I wanted it the DNS level blocking, it's terrific, if a bit restrictive. I also had pihole doing dhcp because my router, at the time, didn't support manually specified DNS servers. Everything was running swimmingly, until a power outage, and my ups didn't make it through. On restart, unraid wasn't getting an ip for its main interface from pihole docker! Duh. Ended up actually just buying a raspberrypi and running pihole as intended, never looked back. Also had to upgrade router to one that would work Century Link fiber vlan201, and allow me to specify DNS (Netgear R7000 with some firmware from somewhere). 

 

Now that the setup is as it is, Roon, and most everything else works fine. I haven't had to specify any special ports for Roon, the R7000 is doing routing, while pihole is DNS. I changed unraid to a static IP. 

  • Like 1
Link to comment
2 minutes ago, dkerlee said:

Ended up actually just buying a raspberrypi and running pihole as intended, never looked back. Also had to upgrade router to one that would work Century Link fiber vlan201, and allow me to specify DNS (Netgear R7000 with some firmware from somewhere). 

 

Now that the setup is as it is, Roon, and most everything else works fine. I haven't had to specify any special ports for Roon, the R7000 is doing routing, while pihole is DNS. I changed unraid to a static IP. 

I should actually do this. I have three Pi's but two are setup for music streaming, ironically as Roon bridges :). I also have an R7000 but it's used as an access point. I will have to eliminate the Pi Hole from the system to verify that's the cause (current as a unRAID VM with fixed IP address.)

Link to comment

Hey, please forgive my ignorance....I've never actually used Roon but have heard its excellent and now that I have a Unraid server setup and its being used as our main media source I am interested in using Roon for my music.

 

With the Roon server docker that would install on my Unraid server, would it be able to play to my stereo directly? For instance, my server has optical out that I can run to my stereo system. Can I use the Roon Android mobile app to select music, but all of the playback happen within my server and its connection to the stereo as opposed to my phone needing to be connected to a stereo?  Currently I use the Plex music app (PlexAmp for Plex Pass suscribers) but I plays the music through my phone so I have to use Chromecast audio from my phone to the stereo. I would rather bypass my phone and go straight from the server to the stereo and just use the phone more as a remote instead of a actual player.

 

I also have a Chromcast audio on my stereo, I know that Roon can use Chromcast....however I'm not sure if Roon in my Unraid has the ability to connect to the Chromcast.

 

Would that somehow be possible with this Roon docker?

Edited by SPOautos
Link to comment

@SPOautos I don't think so. You have to have something called a Roon endpoint. It will do the digital to analog conversion and send that to your stereo. You can use a Raspberrypi, or a phone, or a laptop. You might even be able to use your server, but that isn't what this docker does. The docker hosts the Roon core, which is the music server, not a player/client/endpoint.

 

Link to comment
39 minutes ago, dkerlee said:

@SPOautos I don't think so. You have to have something called a Roon endpoint. It will do the digital to analog conversion and send that to your stereo. You can use a Raspberrypi, or a phone, or a laptop. You might even be able to use your server, but that isn't what this docker does. The docker hosts the Roon core, which is the music server, not a player/client/endpoint.

 

 

 

Thank you for the info. I installed Roon and set up the 14 day trial and just finished installing it on my phone. It looks just as you said....like Plex, I have to connect to the stereo with my phone and process through the phone instead of the computer.

 

To be honest, from a usability standpoint this app leaves a lot to be desired. Its feels hard to navigate and even in Tidal, all of the music I have marked in Tidal that I listed to a lot aren't all showing up in Roon, only some of them are. I hope they get their app pulled together better. Maybe it just needs more time for things to sync up.

Edited by SPOautos
Link to comment

@SPOautos it's most certainly your path mappings. You need to do two things to get it working

1 set correct paths in the docker settings at the time of setup (you can fix and change it now too) 

2 navigate to that path mapping in Roon client. 

 

Another user on here @xthursdayx out another docker up there also called RoonServer. They excellent example path mappings in there that you'd modify for your own system. Makes it more easier.  Those path mappings took me several tries to get it right, and prompted this howto thread. 

 

Screenshot_20200926-211135.png

Link to comment
10 minutes ago, dkerlee said:

@SPOautos it's most certainly your path mappings. You need to do two things to get it working

1 set correct paths in the docker settings at the time of setup (you can fix and change it now too) 

2 navigate to that path mapping in Roon client. 

 

Another user on here @xthursdayx out another docker up there also called RoonServer. They excellent example path mappings in there that you'd modify for your own system. Makes it more easier.  Those path mappings took me several tries to get it right, and prompted this howto thread. 

 

Screenshot_20200926-211135.png

 

 

Yup, I just got the missing mapping component figured out. I had it going to the right folder in the docker template, however you also have to set it up inside of the android app. I thought since the app was pointed to my server (which is the core) and I had it mapped in the docker template that it would work. But the final step (for anyone else planning to use the android app as a endpoint) is to go into the mobile app settings/storage and "add folder". The add folder will drop down showing the file system in my server and I had to select my music folder there then select "import". Then it brought all the music into Roon and will continuously watch that folder for new music to show up.

 

On the off change that anyone is technically handicapped such as myself, maybe that info will help  lol

 

Link to comment

Thanks @SPOautos you're right, you do have to point the Roon Core at your music files, it isn't automatic. Furthermore though that can be done from any client, and only need to do it once. I got into those settings via Windows 10 client, then android client just worked.

 

I appreciate the note! A little good will and information for posterity is what it's all about. 

Link to comment

I wanted to add your stereo might act as a Roon end point if it's on Roon's list of partners. Otherwise, as dkerlee has noted, a raspberry pi, laptop, or casting from your phone will work as well. Roon also supports building your own Roon server (not exactly unraid related :), but wanted to throw that out there) on a supported NUC via their ROCK software.

 

List of partners who can act as a Roon player (my Lyngdorf is seen as a player when I start Roon on my phone or tablet)

https://roonlabs.com/partners

 

ROCK for DIY server as an alternative to running Roon on unraid.

https://kb.roonlabs.com/Roon_Optimized_Core_Kit

 

If you have Sonos, you can also use them as end points for direct playback.

 

 

Edited by realdiel
  • Like 1
Link to comment

Yeah, the only other way around this, if you have a motherboard and soundcard that supports it, is to setup a VM with the soundcard forwarded to it, connect your stereo to your soundcard output, install Roon Core in the VM and then play driect. It's not a very clean option though, imo. I think using a separate endpoint is the way to go. You can build one fairly inexpensively with a RPi and a Hifiberry DAC or Digi (SPDIF out). 

  • Like 1
Link to comment
  • 2 weeks later...

Ok, so I moved to the new container and I moved my Pi Hole implementation to an actual external Pi and I'm still getting random disconnects. It almost seems like Roon is crashing? Has anyone seen this?

 

Stacktrace:

at <unknown> <0xffffffff>
Stacktrace:

at <unknown> <0xffffffff>
Error
Error
Initializing
Started
Initializing
Started
Not responding
aac_fixed decoder found, checking libavcodec version...
has mp3float: 1, aac_fixed: 0
Running

This is the log from the container just as it crashes. This is a restart, correct?

 

EDIT: Looking at the logs in the container itself shows a new log starting at the time of the crash. The previous log just terminates with no error. Hmmm. Any thoughts?

Edited by wcg66
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.