Yesterday, 09:00 AM
I've been using a setup where jellyfin is behind a reverse proxy (nginx, via npm) and it's been working fine so far, but my setup isn't ideal imo and I can't figure out how to make it better.
Here's a quick description of my setup:
both jellyfin and npm are running as independent docker containers on a Syno nas.
The jellyfin container uses its own docker network, with this configuration:
Within jellyfin's networking settings, I set "172.20.0.254" as a known proxy, which works: the correct IPs are reported for each client connecting to the server.
However, the only way I could make this work is if I set the npm container to use the host docker network (and thus redirect my jellyfin url to "localhost:8096" in npm's config).
As soon as I try to restrict npm's networking to its own docker network + jellyfin's docker network (that I called "synobridge", with details above), I can't find any way to have jellyfin report real client IPs anymore.
I tried a bunch of different configuration for jellyfin's known proxies, but none worked: adding jellyfin's IP on the npm docker network, the gateway of the npm docker network, all of that with or without jellyfin's IP on synobridge, also with or without synobridge's gateway IP, etc. Whatever I do, the jellyfin server always reports its own IP on the npm docker network.
Is there any way to make this work or is it essentially impossible to have the reverse proxy not use the host docker network in this configuration?
Thanks a lot in advance.
Here's a quick description of my setup:
both jellyfin and npm are running as independent docker containers on a Syno nas.
The jellyfin container uses its own docker network, with this configuration:
Code:
"Name": "synobridge",
"Scope": "local",
"Driver": "bridge",
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.20.0.0/24",
"IPRange": "172.20.0.0/26",
"Gateway": "172.20.0.254"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
...
Within jellyfin's networking settings, I set "172.20.0.254" as a known proxy, which works: the correct IPs are reported for each client connecting to the server.
However, the only way I could make this work is if I set the npm container to use the host docker network (and thus redirect my jellyfin url to "localhost:8096" in npm's config).
As soon as I try to restrict npm's networking to its own docker network + jellyfin's docker network (that I called "synobridge", with details above), I can't find any way to have jellyfin report real client IPs anymore.
I tried a bunch of different configuration for jellyfin's known proxies, but none worked: adding jellyfin's IP on the npm docker network, the gateway of the npm docker network, all of that with or without jellyfin's IP on synobridge, also with or without synobridge's gateway IP, etc. Whatever I do, the jellyfin server always reports its own IP on the npm docker network.
Is there any way to make this work or is it essentially impossible to have the reverse proxy not use the host docker network in this configuration?
Thanks a lot in advance.
