- Rent a cheap VPS with an static ip address (for example, the most basic at Vultr)
- Set up wireguard or tailscale/headscale (or your preferred VPN) both on the VPS and your workstations, so you can access the services in your workstations from the VPS through the VPN
- In the VPS configure Nginx/traefik/caddy (or your preferred reverse proxy) pointing to the services in your workstations
Ta-da! Now people access through your VPS, but the processing is done at home. The VPS is cheap, and it doesn't matter if you home IP address changes. You could even take your workstation, move it to any place with internet connection, and it would keep serving pages without changing anything.
Whoah! That's awesome! Thank you for making my weekend better :D
I'll try setting that up over the weekend. Just wondering - would you recommend using your suggested setup for a "production" app?
Considering the hardware I own is powerful enough to host postgres + a half dozen services to run the app including a bunch of real time processing. If my calculations are correct I should have enough resources to handle a few thousand or more concurrent users, and at an old gig we were able to service millions of DAU with even less power. As long as I can meet <500ms client request times I think it should be fine, considering there's gonna be extra network hops.
Don't forget to choose a VPS close to you with low ping for this. Also, depending on the skills you want to learn, you can use nftables with DNAT to do the forwarding at L2.
I know this started as an anti-cloud stance, but there is a lot that cloud servers can do for the DIY self-hoster, for really not that much money per month. And one of those things is knowing that even though you're having a power outage at home, that your server is still up.
> You will get a lot of people who will try to find all the theoretical reasons why this wouldn't work.
It's not a theoretical.
Depending on where you live either:
- The available tech (i.e. without fibre to the premise your "last mile" might be entirely copper, or just the run to the cabinet, but both can affect speed)
- ISP offerings (Some only offer symmetric speed on much more expensive "business class" packages)