mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-03-01 03:16:51 +03:00
DLNA not discovered - Docker & Traefik #987
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @swratten on GitHub (Oct 15, 2019).
Describe the bug
Devices on local network are unable to find the Jellyfin DLNA server on local network when running in docker.
I am using traefik as a reverse proxy.
Have no problem accessing Jellyfin interface through browser on 8096 from LAN or through reverse proxy via internet.
System (please complete the following information):
Additional context
docker-compose.yml
@PrplHaz4 commented on GitHub (Oct 15, 2019):
This is not a bug in Jellyfin - it is a limitation of docker networking. DLNA (port 1900 UDP) works fine if you put the Jellyfin container on the "host" network, but then Traefik will no longer work as it can't communicate with the host (per docker design). Containers also aren't allowed to be on the host and a user-defined network at the same time.
I'm currently working on getting this sorted too - I have seen a couple proposed solutions that use a macvlan network as a go-between but haven't gotten a working implementation yet.
@swratten commented on GitHub (Oct 15, 2019):
I was hoping this was not the case :/ I tried most of today to get it to run in host network mode and have traefik reverse proxy it to no avail
I cant get Jellyfin to work on my Xbox One via Kodi because of bugs in the plugin / OS, so I thought I would try DLNA until that is resolved...
Maybe I'll have to install Jellyfin Natively until one of the bugs are resolved in their appropriate domains. My wife really wants me to go back to Plex, but I really like this project when it works..
@JustAMan commented on GitHub (Oct 15, 2019):
As stated above, this is not a bug in Jellyfin, but a limitation in Docker and stuff, so closing.
@PrplHaz4 commented on GitHub (Oct 15, 2019):
@swratten here is what I've hacked together so far - it seems to be working but is minimally tested.
To-Do:
Docker, Traefik, Jellyfin, DLNA
Use macvlan network, assign static IP, use static MAC for DHCP address reservation:
bridgenetwork (or traefik docker network)Use macvlan network, assign static IP, use static MAC for DHCP address reservation:
Reference
@JustAMan commented on GitHub (Oct 16, 2019):
@PrplHaz4 this should be a PR in https://github.com/jellyfin/jellyfin-docs IMO
@PrplHaz4 commented on GitHub (Oct 16, 2019):
@JustAMan agreed - but I would not consider this config production ready at this point, and would like to see some feedback/testing from others first. It still feels more like a hack than "the way"...
@PrplHaz4 commented on GitHub (Dec 9, 2019):
@swratten and anyone else following this thread...
This PR contains updated documentation for successfully running Jellyfin in host mode with Traefik (and working DLNA/HDHR).
https://github.com/jellyfin/jellyfin-docs/pull/168
@nappy commented on GitHub (Jul 14, 2020):
Just for the future readers here. I discovered that using host networking and a static route configuration was not necessary. What I did was to create a macvlan and let the jellyfin container be in both macvlan and traefik networks. This simplifies the whole setup.
This way you could also make jellyfin DLNA available on different subnets / VLANs than your docker host resides on (using parent interfaces like eth0.30 etc.).
I think the documentation https://jellyfin.org/docs/general/networking/traefik.html could be improved.
It should deliver the essential information on common pitfalls, like to make treafik auto configuration work with DLNA, and not a hugely over complex copy-paste solution, trying to cover everything like ACME, TLS, optimization headers etc.
@itmecho commented on GitHub (Aug 6, 2020):
@nappy Thanks, I managed to use your compose file to get it working but I had to make two changes.
I had to statically assign the IP address for my jellyfin container as by default it was just assigning the first IP in the subnet, 192.168.0.2, which is already used. This is the networks section of my jellyfin service:
The other change was to add this flag to the traefik pod as without it, I just get Bad Gateway when trying to access jellyfin via traefik:
@craxrev commented on GitHub (Dec 14, 2020):
For anyone struggling to get this working on wlan0 interface, use ipvlan instead, as macvlan does not go well with wireless interfaces..
Here's my configs running on a raspberry pi 4, I'm using also
nginx-proxy-managerandportainercontainers:The
proxy_networknetwork here, is a bridge network I use to connect the container withnginx-proxy-managercontaineripvlan_networknetwork:ipvlan_networknetwork:References:
@pablocpas commented on GitHub (Mar 23, 2021):
I've gotten DLNA to work but I can't advance movies, I think it's because jellyfin thinks I'm off the local network and transcodes. I have tried adding local ip ranges but neither. Any suggestion?
@theo546 commented on GitHub (Apr 5, 2021):
I also have the same issue as of today, I can start playing a video from VLC but I cannot fast forward.
I tried adding local network IPs but it doesn't change anything.
@divStar commented on GitHub (Jun 20, 2022):
I would like to add the following as I have just successfully completed setting up JellyFin with Traefik and docker-compose (via Portainer, but that doesn't make a difference). This assumes you have Traefik up and running.
docker-compose.yamlthat I will be referring to:Notes:
enp3s0describes the actual host interface (I got it viaip linkcommand from my host OS).192.168.178.0/28describes my actual physical network, that I want DLNA to be available in (all devices on192.168.178.x).Passing portIt does not seem necessary.1900/udpwas necessary, because else DLNA still wouldn't be discovered from my experience (perhaps I am wrong though, but I am too lazy to check right now).services-networkis my Traefik-managed network, in which all services are collected, which are exposed viaSUBDOMAIN.my.family. I don't think this is necessary and I could probably have them on different networks, if I introduced Traefik to each of them, but it seemed a bit overkill for a simple homelab setup.@manero6 commented on GitHub (Dec 12, 2022):
Sorry to reopen but how about adding macvlan/ipvlan as network connection options for docker in the documentation?
Right now only the network configuration "host" is mentioned, but Jellyfin's DLNA works very well with macvlan/ipvlan too.
I'm talking about this page: https://jellyfin.org/docs/general/administration/installing/#docker
and this: https://jellyfin.org/docs/general/networking/dlna
This is how I got DLNA working without setting the container's network as "host", similar to the other configurations above.
Jellyfin is available under 192.168.0.10, DLNA is visible and accessible by other devices on the same subnet (192.168.0.0/24)
@PrplHaz4 commented on GitHub (Dec 12, 2022):
I think a lot of people are running it this way for the same reason (and DLNA + reverse proxy). I think it was left out of docs because of the additional complexity (and support questions), but a PR to the docs repo would prob be welcome (or at least a better place for discussion).
@divStar commented on GitHub (May 30, 2024):
I've had issues with Jellyfin and UPNP / DLNA again.
I ended up using the following Jellyfin
docker-compose.yml:Note
jellyfin-ipvlanhas been created as a IPVLAN network, subnet192.168.178.0/24, gateway192.168.178.1, parent bound to the physical interface, default ipvlan mode (l2). See https://docs.docker.com/network/drivers/ipvlan/ for more information.I decided to expose both UDP 1900 and the default 8096 ports.
Note: I am using Traefik
v3.0.1and Docker Engine26.1.3.