Hi folks!
I have an issue with VPN and Jellyfin.
First, let me detail my current setup. I have a Truenas server with Nextcloud, Jellyfin and Nginx. Nextcloud stores private documents and Jellyfin contains media that is not private (I don’t mind if it an attacker is able to read what’s inside Jellyfin). I also have a Fritzbox router, which contains a Wireguard server by default. When I’m not at home, I use Wireguard to have access to my Fritzbox, it assigns me a local IP and then I’m able to access to Nextcloud and Jellyfin. No port is directly forwarded from router to Truenas. Only a VPN port is open on router, and Wireguard is on the router itself.
All of this works well, BUT…
When I’m out and streaming video on Jellyfin my laptop gets really hot and battery drains fast. I know this is due to the intensive CPU work cyphering and decyphering video data over the VPN.
I want to explain now the solution I have thought for this and I’d like to have your opinion:
Wireguard assigns a local IP when I activate VPN on phone, laptop or whatever. So I could open and forward a port from router to Nginx. Then, on Nginx, I could set filters (access list): if you have a public IP, then you can only access Jellyfin. If you have a local IP, you can access both Jellyfin and Nextcloud. This way, I could access Jellyfin from outside without the need of turning on VPN, while protecting the private data.
I know it’s riskier than using a VPN for everything and Nginx will become a critical point in my setup, that’s why I’m here asking for help. Is the risk worth for that benefit? Is Nginx solid and safe enough to handle it? They are both on the same server, does it matter? Do you think there is a better solution for this?
Thanks for your help!