Yep, my website (very WIP) is hosted on an RPi 5 in the corner of my apartment, and every once in a while my IP changes and I have to update DNS and tell my friends to connect to the minecraft server by IP. I'm probably around 98% uptime, so github levels of assurance.
Cloudflare lets you create tunnels for free which will keep your site online when the IP changes. This will also hide your IP as your DNS entry will be pointed to Cloudflare.
Or Pangolin [1] on a cheap VPS, in case you want to self host the tunnel as well :-)
[1] https://github.com/fosrl/pangolin
Spend 20 minutes setting up DuckDNS and you'll never have to worry about this again.
https://www.duckdns.org
I solved this with a corn tab that runs a script that checks my ip and updates my cloudflare dns if it changes. https://github.com/pastorhudson/cloudflare_dns_updater
> with a corn tab that
A corn tab you say? I'm all ears!
I wonder if that tastes good.
I assume they meant crontab (TIL that means "cron table", never wondered before)
https://en.wikipedia.org/wiki/Cron
Why not use DDNS?
Alternatively your domain provider likely has some API for you to programmatically update the DNS records.
Because mine didn't I instead used a generic ddns and set a cname on my own domain to that. Works like a charm too.
Kinda breaks MX records so don't so it if you wanna receive emails on that domain, too
> Kinda breaks MX records so don't so it if you wanna receive emails on that domain, too
Is the CNAME on the root of the domain, @?
In my case yes, because I did not care about breaking email delivery to that domain (it's a novelty domain pointing to my residential IP address, (surname-home.tld) which I use exclusively for my selfhosted Services
Oh perfect
Just wanted to ask since I’ve been bitten by that.
I do something similar, but I have them all under <service>.home.<example.com>
But that’s because I do have resources outside. Just helps my mental model to name space them.
I know the feeling. Ive already configured almost all services to be header auth or disabled auth entirely if possible, and just put them all behind a SSO forward proxy (nginx + authentik)
I also played around with injecting a tiny script into the proxied response to just add a small drop down menu with all services I've got available. .. while that worked, finding a good place to inject that menu was a chore so it's currently disabled again :)
Use cloudflare tunnel. It’ll stay alive through that.