Running a Jellyfin server behind a gluetun container (bc IPTV). Everything works perfectly with one exception: multicast. The use case is DLNA; interoperability between the JF server and my home receiver (to listen to music).
I have the DLNA plugin installed. I also pass the FIREWALL_OUTBOUND_SUBNET
variable in the docker-compose.
Gluetun docker-compose.yml is here. Relevent Jellyfin logs are here.
Anyone know how to make mDNS work?
Edit: spelling
Have you tried adding 239.255.255.250/32 to your outbound subnets variable? This is the multicast address for SSDP which mDNS ultimately relies on if I remember right, I recall having to do this for Plex in the past.
good idea, but a slight correction - mDNS and SSDP are entirely different things, rather SSDP was Microsoft’s initial proprietary take on the idea, and mDNS was created as the new and improved standard.
mDNS does multicast (send/receive) on 224.0.0.251 and ff02::fb on port 5353, while SSDP uses 239.255.255.250 on port 1900 as you mentioned.
But I think OP’s issue is that they’re on different subnets; mDNS expects the server and the client to have a perfectly overlapping subnets inside the same LAN. If the server has 10.0.0.3/16 and 192.168.1.3/24 then the client must also have 10.0.0.7/16 and 192.168.1.7/24. Or, if you can tell the server software exactly which IPs to announce, then that might work too.
there are workarounds to this, using avahi reflector, but that thing is buggy – specifically you need to disable NSEC on the server, and lock it to either IPv4 or IPv6.
I made some note on additional pitfalls while i was writing my own mDNS and SSDP servers for fun, they’re at the bottom of this page: https://ocv.me/copyparty/helptext.html
I appreciate the response. I updated it and there was some success in that Jellyfin isn’t throwing errors anymore, which is a step in the right direction. So thank you for that. Unfortunately it still isn’t working. I did a little more log digging and found this:
[16:35:50] [INF] [1] Jellyfin.Plugin.Dlna.Main.DlnaHost: Registering publisher for urn:schemas-upnp-org:device:MediaServer:1 on 172.21.0.2 with uri http://172.21.0.2:8096/dlna/6a8078b6-cb55-4b46-acf0-64e99f2a7a79/description.xml
I think the issue might(?) be that DLNA is on a docker subnet and my home receiver is on a local 192.169.x.x subnet. I’m not sure though.
Edit: I also checked the Jellyfin docs and tried opening up ports 1900 and 7359 on the gluetun container. That didn’t do anything though.