Hi,
I want to make some of my services (like Nextcloud, Immich, Komga, Jellyfin and FreshRSS for example) on my home server easier accessible from remote. For that I want to use a VPS where I install Nginx and Wireguard on it and establish a VPN connection between it and my homeserver. So far so good.
My first question: For the services that I don’t want to expose for remote access over that setup, can I just keep my Nginx instance that I have running now for these services. For example my budgeting service is available under finance.example.com as long as I’m in the same network as my home server right now. Would that still be possible when I have 2 Nginx instances running (one on the VPS and one on the home server directly) or would I need to configure it differently for that to work?
My second question:
Do I need to install Fail2Ban on my VPS or can I also install it on my homeserver?


If you’re getting a VPS I’d generally recommend getting pangolin. It’s basically like cloudflared tunnels, but self hosted (on the vps). It works the same, you use it to map your subdomains to IPs on the other end of the secure tunnel.
It has things like user access controls for each of the subdomains, the ability connect it to an identity provider, rules governing which paths need authentication and which don’t, etc.
It can optionally come preconfigured with crowedsec, but I had problems with it falsely classifying my normal traffic as an attack and banning my IPs.
Just be aware that even if your service has a login page, you first need to log into pangolin to be granted access to the service, and although that’s fine on the web (especially if you’re using an sso), some native apps don’t like the extra login. Homeassistant handles it better now, but I haven’t gotten jellyfin native android app working yet.
Second for Pangolin.
They have a cloud hosted free tier you can try but it’s time/ transfer limited. If you like it, you can self host on your VPS with no subscription since it’s all FOSS software.
Also, thank you for addressing the native app vs Pangolin auth layer challenge. I’ve been wrestling with that myself.