Good day, everyone. I took the plunge into self-hosting in the last couple of weeks and set up a server running Linux Mint. I installed the media streaming stack composed of Jellyfin, Jellyseerr, Radarr, Sonarr, Jackett, Bazarr and Transmission according to this excellent guide: https://zerodya.net/self-host-jellyfin-media-streaming-stack/

Before installing it on my server, I tested it on my Linux Mint laptop and it worked perfectly. I also run NordVPN and had no issues running the streaming stack with my VPN running on the laptop. I then installed it on my server (running the exact same version of Linux Mint) and it runs fine UNTIL I turn on my VPN and then I get an “Internal Server Error 500” from Jellyseerr. Jellyseerr is still able to list the requests I’ve made, but can’t display the Discover sections that list popular movies and shows unless I turn off the VPN.

The one difference between my successful laptop test setup and my final server setup is that I’m also running Pi-Hole on my server, so perhaps the problem is related to that? I installed the Pi-Hole using the official Ubuntu installer on the Pi-Hole website.

Anyway, I’m new to self-hosting so I’m not sure if I’ve provided the necessary details. Any help getting this setup to work with my VPN is greatly appreciated.

  • @sailingbytheleeOP
    link
    English
    21 year ago

    Just to close off this thread, you were 100% right about using Gluetun as well.

    After I got everything working nicely (pre-Gluetun), I got a strange email from my ISP about allegedly copyrighted material being made available by someone or other on my home IP. No idea who that could be.

    Turns out, friends, that VPNs sometimes silently drop connection. And the killswitch may block the traffic of the user that initiated the VPN connection, but it not does not block Transmission traffic inside a docker container. That was a bummer to find out the hard way. Anyway, running the VPN in a Gluetun container and making it a service of the Transmission container solves that problem rather nicely and is surprisingly easy to implement. Thanks to the developer for that, and thanks to you for pointing me down the right path!