I am trying to decide upon setting up a VPN for my Ubuntu server home lab(for which I primarily use a NAS & a JelleyFin server & a few other additional commodities such as FreshRSS), or just plainly do some port forwarding what would you guys recommend for me to look into doing?
If you are looking for ways to expose those services to the internet you may find Cloudflair Zero Trust Tunnels useful. It’s not an open source solution, but it’s free and easy to set up. You will only need a domain name. I have been using it for a few months now and had no issues.
For me, PiVPN did the trick. Very easy to install following the tutorial and has been working very reliably. On my router I just had to forward one single port. Running Wireguard it is very current technology.
As a networking / security noob it is added peace of mind to have it on one dedicated device that I can simply shutdown / disconnect when I don’t want the VPN running (I basically only have it up when traveling).
The only issue I can see is figuring out how to get a permanent address to forward to the changing home IP, though luckily my Fritzbox actually comes with that service out of the box, so I basically only had to copy the MyFritz address for that.
It is easy to add new devices (either with a key file or mobile devices simply with a QR code that it can even generate via SSH) and the app is super easy to use on my android phone. Might depend on the connection, but I just tried streaming a video via mobile data and had no problems.
As far as I know you can stream media as long as you don’t take up too much bandwidth. I personally use it to stream low bitrate video from my Jellyfin and music from Navidrome, works fine.