Evening 'hosters,
I have been banging my head against my desk all day and could use some help. I seem to be the only one with this issue, so I'll lay it out: I have a Pangolin instance hosted on a remote VPS with a Newt tunnel installed via Docker in a Debian 13 VM on my NAS. Within Docker, I have Plex, Jellyfin, and Overseerr (just for testing currently). All services are accessible via the LAN IP of the VM and their respective ports.
(Yes I know Plex is stinky, but my mom's gotta watch her shows.)
I have three resources set up in Pangolin for each service, pointed at the LAN IP of the VM, the port, and the correct Newt tunnel, with a corresponding https://service.domain.tld/ record in Pangolin. Overseerr works flawlessly, without any additional input. Plex and Jellyfin, however, does not work. The resource monitoring module on Pangolin remains "unhealthy," and neither service can be accessed remotely.
Here is how the Pangolin resource is configured:
After doing tons of searching and reading, the general consensus for configuring Plex is to add https://service.domain.tld/ (noting the :443 at the end), disabling Remote Access from the menu, and disabling the Plex Relay setting. I've tried just about every combination of these settings, and none of these seems to bring the Pangolin resource online (which I figure I need to do to access it remotely).
Here is my compose.yml for Plex:
spoiler
services:
plex:
container_name: plex
image: plexinc/pms-docker
restart: unless-stopped
ports:
- 32400:32400/tcp
- 8324:8324/tcp
- 32469:32469/tcp
- 1900:1900/udp
- 32410:32410/udp
- 32412:32412/udp
- 32413:32413/udp
- 32414:32414/udp
environment:
- TZ=America_New_York
network_mode: host
(Pretend there are volumes mounted in there, I removed them here for brevity)
I know setting network_mode= host and defining the ports is redundant, I was playing around with Bridge mode in some helpless attempt to get this thing working. I mentioned Jellyfin in the title because in an effort to see if it was just Plex being annoying, I spun up a Jellyfin container, only to find that Jellyfin also doesn't work.
Any ideas? I'm offering 10,000 years of incredible luck to anyone that can help me out...
tl;dr I cannot for the life of me get Plex (or Jellyfin) to work via a Pangolin Newt tunnel. All other services served the same way appear to work great.
Edit: So, I figure this has got to be something between Plex, one or more Docker bridge networks, and the Newt Tunnel network (newtwork? nah...). I should have mentioned earlier but I am pretty green with all of this, but I really did want to get my hands dirty. I really only have a surface level understanding of these virtual bridge networks that Docker uses...
I'm realizing in doing some digging with docker network inspect, even Overseerr creates a bridge network. I thought I tried using Plex in bridge mode, but that didn't seem to work.
Edit Edit: Solved! I looked to Plex's logs and found that it was rejecting (401) requests from the Newt container bridge. All I had to do was go to Plex's network settings and allow that subnet, like so:
My https://plex.domain.tld/ worked instantly. Shoutout to ineedmana for telling me to look in the logs. Always read the logs!


Use the hostname that is reachable on docker instead of IP. I think in this case that would be
plex(name of docker service/container(?))Go to access logs in pangolin dashboard and try to find out at which level the problem occurs. Where's the last spot you see your query? Pangolin? Newt? It disappears after newt? Your plex service logs something about the query?
I figured it out!!
It was simple. I just told Plex to allow the 172.18.0.0/24 subnet. It's always something simple huh.
Thanks for pointing me at the logs. Sometimes it all looks like gibberish when you're learning, then you stop and read and search. Have a wonderful evening! (and the 10000 years of excellent luck, too!)
The only logs from Pangolin are from me accessing
https://overseerr.dom.tld/. From Plex's GUI console though, I get this:That 172.18.0.2 is the IP of the Newt container (that subnet is its bridge network, anyway). So it's making some request to Plex and receiving a 401?
From Mozilla:
So what would cause Plex to throw a 401?