2025-04-21, 07:08 AM
My config if that helps.
I am 100% docker but my config is slightly different then yours because I have 2 distinct servers in my DMZ for the Reverse Proxy and Jellyfin, but all in one its just the same: As a rule of thumb, I only use host-IP for all my settings, and not docker internal networks at all.
My setup is :
Jellyfin and other web apps are running (in containers) on server 192.168.2.4
My reverse proxy (caddy docker) is running on server 192.168.2.10, and ALL http(s) traffic is redirected on it by my router. And then caddy dispatch to correct host-port of my network depending on the subdomain (got one subdomain per webapp)
All docker networks of all the stacks on both servers are bridged.
This is my Jellyfin network.xml :
So basically, I tell jellyfin that :
So basically I dont use the internal docker networks ranges in the web app configs, and that's what you should do to avoid issues: bridge your docker networks, and work with host(s) IP(s) in your applications' settings. Its the port that matters to know where the apps should forward/listen/expose. In you case the host ip is the same for both jellyfin and npm
I am 100% docker but my config is slightly different then yours because I have 2 distinct servers in my DMZ for the Reverse Proxy and Jellyfin, but all in one its just the same: As a rule of thumb, I only use host-IP for all my settings, and not docker internal networks at all.
My setup is :
Jellyfin and other web apps are running (in containers) on server 192.168.2.4
My reverse proxy (caddy docker) is running on server 192.168.2.10, and ALL http(s) traffic is redirected on it by my router. And then caddy dispatch to correct host-port of my network depending on the subdomain (got one subdomain per webapp)
All docker networks of all the stacks on both servers are bridged.
This is my Jellyfin network.xml :
Code:
<?xml version="1.0" encoding="utf-8"?>
<NetworkConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<BaseUrl />
<EnableHttps>false</EnableHttps>
<RequireHttps>false</RequireHttps>
<CertificatePath />
<CertificatePassword />
<InternalHttpPort>8096</InternalHttpPort>
<InternalHttpsPort>8920</InternalHttpsPort>
<PublicHttpPort>8096</PublicHttpPort>
<PublicHttpsPort>8920</PublicHttpsPort>
<AutoDiscovery>true</AutoDiscovery>
<EnableUPnP>true</EnableUPnP>
<EnableIPv4>true</EnableIPv4>
<EnableIPv6>false</EnableIPv6>
<EnableRemoteAccess>true</EnableRemoteAccess>
<LocalNetworkSubnets>
<string>192.168.2.0/24</string>
<string>192.168.1.0/24</string>
<string>172.20.0.0/16</string>
<string>172.22.0.0/16</string>
</LocalNetworkSubnets>
<LocalNetworkAddresses>
<string>192.168.2.4</string>
</LocalNetworkAddresses>
<KnownProxies>
<string>192.168.2.10</string>
</KnownProxies>
<IgnoreVirtualInterfaces>true</IgnoreVirtualInterfaces>
<VirtualInterfaceNames>
<string>veth</string>
</VirtualInterfaceNames>
<EnablePublishedServerUriByRequest>false</EnablePublishedServerUriByRequest>
<PublishedServerUriBySubnet />
<RemoteIPFilter />
<IsRemoteIPFilterBlacklist>false</IsRemoteIPFilterBlacklist>
</NetworkConfiguration>
So basically, I tell jellyfin that :
- its own IP is 192.168.2.4 which is the host IP address
- Known proxies are 192.168.2.10, which is the IP address of Caddy's server (host)
- The LAN subnets are :
- 192.168.2.0/24 (my DMZ)
- 192.168.1.0/24 (my LAN)
- 172.20.0.0/16 and 172.22.0.0/16 (internal docker networks)
So basically I dont use the internal docker networks ranges in the web app configs, and that's what you should do to avoid issues: bridge your docker networks, and work with host(s) IP(s) in your applications' settings. Its the port that matters to know where the apps should forward/listen/expose. In you case the host ip is the same for both jellyfin and npm