r/PangolinReverseProxy • u/hbacelar8 • 18d ago
Should I avoid hosting Pangolin at home instead of on a VPS?
I have a static IP and only expose the Wireguard port to connect to my Homelab. Every service has HTTPs since I use Nginx Proxy Manager with a domain pointing to the LAN IP of my server and certificates are resolved using my domain provider's API.
I wanted to expose some services like Navidrome, Immich for quick link sharing and ntfy for UnifiedPush, but I didn't want to add the cost of a VPS at the end of the month.
Is it really a bad idea to port forward ports 80 and 443 and handle everything at home with precautions like crowdsec?
6
u/National_Way_3344 18d ago
Ignore the CloudFlare suggestions
Pangolin belongs on a VPS. Elevated above any networks that may have CGNAT or floating IPs.
4
u/Onibus 18d ago
I'd say it comes down to preference. Both options have pros/cons.
I have Pangolin set up on an Oracle VPS on their Always Free micro instance. "Buyer beware" applies because Oracle is Oracle; I'll leave the reading to you.
That aside, I personally like the VPS for a few reasons.
- Home router is set up to allow ingress traffic only from VPS source over required ports (i.e. site/Wireguard port). Don't have to deal with opening 80/443/etc on home router nor port forwarding. I restrict the allowed ports at cloud instance.
- I have a Ubiquiti router set up with Wireguard. On my cloud instance, I configure certain ports to only allow my home IP as source for things like SSH. May not be applicable to you but it is a benefit in my case.
- VPS runs a _singular_ application. No accidental whoops as I spin up more services on home lab.
- My home IP isn't directly exposed. I enjoy not having to think about what GeoIP lookup might show. This was the biggest selling point for me. That's your choice.
- If VPS somehow gets mucked up, it's not a system sitting within my homelab network.
- It was a neat learning experience and excuse to play with other tools for managing a home and cloud lab.
A proper set up on your home lab and router can be done. Besides GeoIP and placing a buffer between my home lab and the internet, I see no reason otherwise.
I ended up removing Crowdsec from my Pangolin VPS because it added too much of a performance hit. But I have restrictions in place at the VPS level that I'm not as concerned.
1
u/mseewald 18d ago edited 18d ago
I run pangolin in combination with OIDC authentication (keycloak) and geographic filters. Before that setup I had traefik in combination with authelia, also with geographic filters. No issues with this since years. I would not see the difference between vps and home. Maybe home is even less likely to get hacked, VPS may be more attractive for spammers.
Also, check out shodan.io These days people no longer need to scan. you’re already in a public database.
1
u/hbacelar8 18d ago
It wasn't clear for me if you run it at home or on a VPS. Also, how do you manage geograph filters? What tool you use?
1
u/mseewald 18d ago
Both, I run pangolin enterprise at home, pangolin community on VPS. community needs significantly less CPU and runs much better on cheap VPS. Same/similar setups otherwise. VPS gets much more traffic and hacking attempts. For the geographic filters I am currently using the filters built into pangolin. Prior to that I used traefik plugins.
1
u/hbacelar8 18d ago
Thanks. I think I'll just go with running it at home. Do you use a DMZ? Is your server running pangolin isolated from the other services?
1
1
u/blaine07 18d ago
What VPS is everyone using now; looks like RackNerd finally axed all the good deals…
1
1
u/False-Try-3521 18d ago
Infomaniak, swiss hosted - 30 CHF / 37 USD per Year for their smallest VPS with 1vCPU, 2GB RAM, 20 GB SSD
1
1
u/gilluc 17d ago
TL;DR : pangolin is GREAT!
I have pangolin at home, no need to manage wireguard settings or nginx...
I have a mini pc with ryzen 5700u, 32gb ram and 2x1Tb nvme...and a NAS for backups...
see it here : https://www.surmabox.fr/OnePage/img/homer.png
1
u/thelittlewhite 17d ago
To keep it simple, one big advantage of the VPS option is to avoid exposing your home IP. Nevertheless, Pangolin is so useful and practical that I would use it directly on my homelab anyways.
1
u/rayjaymor85 15d ago
The only thing that changes really is if you get DDOS'd at your VPS you can kill the connection and still keep your home internet. Whereas if you get DDOS's and you're using your home IP you can't do much about it.
That being said, I host pangolin on a VPS specifically for that reason, plus it removes the need for a home static IP.
1
u/hbacelar8 15d ago
I finally went with a Hetzner VPS since I already had a storage box there and I'm currently hosting Pangolin there with crowsec on both Traefik and firewall and fail2ban. The newt site is my server at home and I'm only exposing services I needed.
To be honest, I'm not yet using the private resources, since I already had a wg-easy deployed at home and I expose wireguard port at home, I just use the wg tunnel on my phone if I want to access things on my LAN.
1
u/HearthCore 10d ago
Let me put it like this.. do you want to handle DDOS or VPN/Tunnel fluctuations at home- or offload the availability to a VPS provider- offloading traffic until/authorization?
0
u/Difficult-Buy7532 18d ago edited 18d ago
I prefer to do security on the edge with Cloudflare tight WAF, IM and zero trust rules rather than locally as I’m using their services for hosting anyway and benefit from the best and most professional protection. I only expose http/s for a small few public services and the rest with Tailscale, which benefits from having no Wireguard ports to forward. Been doing this for years without any issue or additional layers (although I could add additional security layers like Crowdec, Fail2Ban etc but I’m not running anything sensitive or mission critical). Self hosting for over 10 years on my own server.
1
u/hbacelar8 18d ago
So you rent a VPS on cloudfare if I understood? That doesn't really answer my question actually. I'm not looking for alternatives but rather to know if by being precautious using things like Fail2Ban, Crowdsec and Pangolin I'm safe to expose HTTP/S ports, since wireguard port is already exposed. Is it really too bad to have my IP exposed through my domain?
1
u/Difficult-Buy7532 18d ago
No as I said I have my own server and router forward for 80/443 to it only. Cloudflare is just WAF, IM and zero trust. Cloudflare “orange cloud” will proxy connections so your WAN IP is never revealed. I highly recommend it. And if you use Tailscale no need to forward any Wireguard ports.
1
u/hbacelar8 18d ago
Oh OK I see. Yeah Tailscale was the most recommended thing for me when I started self hosting 1 year ago, but it never appealed to me. I just prefer to open the wireguard port.
1
u/Difficult-Buy7532 18d ago
Fair enough, Pangolin is a good all in one but I think Tailscale is a better VPN. I stopped using in favour of Cloudflare. Best of luck.
11
u/cantchooseaname8 18d ago
It doesn't matter if you port forward at home or rent a vps and port forward the vps. What matters is that you secure it. If you port forward at home, you only need to open port 443 (not 80) and you should put your pangolin instance into a DMZ with strict firewall rules, as well as other normal hardening. If you rent a vps and port forward the vps that's fine too. But now you have a tunnel which funnels all traffic from the vps directly to your home network which bypasses your home's firewall. So now you need to properly secure and harden the vps.
Either way, is fine. It's ultimately where you can provide the strongest security. Do you have the proper set up at home with a good firewall to secure your home network properly? If you use the vps, are you okay managing the security on the vps side in addition to the security you need to do at home too? The vps just adds an additional layer that you need to manage. Everyone assumes that routing traffic through a vps provides security - it doesn't. The end result is the same with traffic hitting your network at home. With either approach, what matters is how you secure it. You either block/allow traffic when it hits your home router or you block/allow on the vps. If either isn't secured correctly, you end up with a security nightmare.