RoonServer in docker can't find Meridian zones

I’ve been using Roon in Windows for some years, but I’ve always wanted to move it to my NAS (a home build, NixOS and ZFS).

I chose docker to run Roon as that would be the easiest to set up on NixOS, using the Dockerfile provided by https://github.com/steefdebruijn/docker-roonserver

This successfully allows my to play both my local library and Tidal using Roon on my Windows PC. Using RoonServer in the Docker container

While this lets me play my local library and Tidal using Roon on Windows as my controller, RoonServer can not find my Meridian devices (218 and MC200) on the network.

The NAS and Meridian are on the same VLAN and tcpdump within the docker container appears to show that the Sooloos multicast advertisements are received by the container.

I have worked out my issue.

@Steef_de_Bruijn, you may be interested in this as well. I’ll write the issue up on your dockerfile repository.

My docker host has multiple networks attached, and the container was attached to all host networks. For some reason, despite the container being able to reach the Meridian 218, roon was unable to discover its presence.

My solution to this was to create a docker macvlan network on the host, connected to my main LAN, and attach the docker container only to that network.

My LAN subnet is 172.27.0.0/21, but that range is controlled by my router’s DHCP server. Docker needs to be restricted to operating in a subset of that to avoid conflicts, so I use the --ip-range 172.27.7.240/28 option to limit to IP addresses between 172.27.7.240 and 172.27.7.254 to avoid conflicts with the network DHCP range, which doesn’t extend to that subset of the range.

docker network create -d macvlan \
    --subnet 172.27.0.0/21 --gateway 172.27.0.1 \
    --ip-range 172.27.7.240/28 -o parent=enp4s0 LAN
docker run --name roonserver --network LAN .... <options as per https://github.com/steefdebruijn/docker-roonserver>

This way, only a single network is available to docker, rather than the two direct attached networks, the docker bridge, VirtualBox networks, etc. The docker container still acts as if it is directly attached to the physical network without any additional filters between the Meridian and roon.

I hope this helps anybody else facing issues running in docker.

1 Like