My server is connected to multiple networks (management VLAN, regular network VLAN, VirtualBox bridge, docker bridge). When running the roon container with --net host, roon was not able to discover any network audio sinks that were not provided by the roon remotes. In my case, both my Meridian 218 and Meridian MC200 were unusable.
I found the solution was to set up a docker network that is only connected to the ethernet interface that directly attached to the network those audio sinks are also attached to. The --ip-range can be used to restrict the docker-assigned addresses to a subset of the physical network range to avoid conflicts with DHCP. The DHCP server needs to be configured to exclude this range from its addressing.
docker network create -d macvlan \
--subnet 192.168.1.0/24 --gateway 192.168.1.1 \
--ip-range 192.168.1.240/28 -o parent=enp4s0 LAN
docker run --name roonserver --hostname roonserver --network LAN ....
With this, roon was able to discover and use the Meridian 218.
My server is connected to multiple networks (management VLAN, regular network VLAN, VirtualBox bridge, docker bridge). When running the roon container with
--net host
, roon was not able to discover any network audio sinks that were not provided by the roon remotes. In my case, both my Meridian 218 and Meridian MC200 were unusable.I found the solution was to set up a docker network that is only connected to the ethernet interface that directly attached to the network those audio sinks are also attached to. The
--ip-range
can be used to restrict the docker-assigned addresses to a subset of the physical network range to avoid conflicts with DHCP. The DHCP server needs to be configured to exclude this range from its addressing.With this, roon was able to discover and use the Meridian 218.