I have a few single board computers at home that I want to try hosting some public facing stuff with, but what’s the best way to deal with the fact that my home internet is not on a static IP? Would I have to host my site from a DynDNS domain and hope that when the IP changes, the DNS caches of users expire quickly enough to keep them connected?
There are multiple ways to go about this. You can, for one, use DynDNS and CNAME it to your own domain. There are some DynDNS services that can move the IP in under a minute.
Another option is to use some reverse proxy service, or setup up a reverse proxy yourself on a VPS. I’ve heard Oracle gives them away for free.
Another option is to use some reverse proxy service, or setup up a reverse proxy yourself on a VPS. I’ve heard Oracle gives them away for free.
Would a reverse proxy be able to read the traffic going to and from the server? I also don’t really want to use a VPS since in that case it would probably make more financial sense to just host the entire website on the VPS itself.
Check how often your home-ip really changes. If you have router running 24/7 then likely it will not change very often. Some ISP enforce a disconnect every 24h but even then the IP sometimes stays the same.
On my connection I get the same IP for months without change unless I specifically turn off my router and wait >1h for the lease to expire.
So usually a dynDNS service will work fine as the updates propagate quite quickly. You can dynDNS your own domain name directly, just switch to a name-server with dynDNS functionality like those offered for free by 1984.is. But there are also others, check your router software. OpenWRT derivatives usually support dynDNS out of the box with some pre-configured providers.
- yes, you need dyndns.
- I wouldn’t worry about the 2 users who might stumble upon your self-hosted stuff by accident.
Cloudflare Tunnels makes this easy.
Run https://github.com/fatedier/frp on a cheap VPS (Ramnode has a pretty decent VPS for $15/year), or setup manually with Wireguard if you’re a bit more brave.
I use dynDNS, specifically duckdns.org. Works perfectly