RoonServer in docker can't find Meridian zones

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