I’ve been thinking about finally getting myself a proper domain for my server, but a friend told me that to get one I either need a VPS with a public ip (which just takes all the fun out of selfhosting) or purchase a static ip, which is beyond what I’m willing to spend for a hobby. Do I have any good options or should I just let it go?
Also, if this isn’t the correct community for this, I’d appreciate being pointed to the right one, thank you
VPS with a public ip (which just takes all the fun out of selfhosting)
Why do you say this? My VPS only runs a reverse proxy and WireGuard, with all services hosted on my computers at home.
I’ve been self hosting for 20 years with the same domain(s) and have never owned a static IP. Use a reliable DNS service with simple update tools (curl on a cron job for example).
I’ve had a domain with a dynamic up for over a year with no problems. I have a simple script that runs every 30mins to check if my IP has changed, then updates the DNS records when required.
I have a domain, but all I use it for so far is email (with an email provider, not my own mail server, hosted locally or otherwise). I’d still call that “usable,” though.
I’m late to the party, but could everyone answer me this- how often does you’re public IP actually change with any of your ISPs??
With the numerous companies I’ve used, the ONLY time I’ve ever seen my IP change is getting a new modem through, say, Comcast or whoever. It goes by MAC address, and if you use Comcast and then set to bridge mode and use your own device, that’s a new MAC so you’d get a new public IP. Swap ISPs obviously a new IP.
I’ve NEVER randomly received a new IP when using the same equipment consistently, so I’m not sure why everyone’s so worried about dynamic DNS stuff… Maybe outside the US is different? I’ve lived in a few States and it’s always the same. If you make a hardware change, just note you should also double check your IP and update it, that’s all.
Mine has stayed the same for about 3 years now. My friend has theirs change any time there’s a power cycle so a handful of times every year between power surges and firmware updates.
Oh wow! That’s pretty excessive lol. Is it CGNAT maybe?
Mine would go years without changing. The last few changes were caused by things like the upstream DHCP server failing and being replaced.
Could you use dynamic DNS? Pretty sure there are some free options.
Something like deSEC.io allows you to use your own domain for dynamic DNS for free.
I have used FreeDNS for so long I don’t remember and never ever had a problem. I have a few domains i don’t even use set to public as well.
I use this, Cloudflare zero trust. I run a connector (tunnel) named cloudflared on a raspberry pi which connects to cloudflare. The zerotrust tunnel configuration (in CF dashboard) lets me route http traffic into my local network by domain. The Application access policy in zero trust lets me secure it.
I realize there is a lot of back and forth among selfhosters about Cloudflare’s usage, but I am thoroughly pleased with the set up. The only thing I chuckle about is their promotional emails.
Your site saw more threats last month than the average site on Cloudflare. Here’s what that means: The good news is that these threats were mitigated by Cloudflare with the basic web application firewall (WAF) and bot protection you have on the Free plan. The bad news is that more complex and sophisticated cyber attacks may not be stopped by your current web application security posture.…however they promise if I spend some money, that will all go away, and it might, but it’s good now so don’t wake the sleeping dog.
I started with dynamic DNS on my home server, then moved to an encrypted tunnel. the issue with ddns is that your provider may block your ports. Mine eventually blocked 80, 443, and the wire guard port.
When I switched to tunnels, with cloudflare as my provider, there was nothing my provider could do about it.
So, I’d recommend tunnels since many providers don’t want residential users hosting servers.
Yes it’s possible. You can buy a domain name and then do literally nothing else if you want.
If it’s just for LAN use, you don’t even need to buy a domain name. You can use anything under the home.arpa, test, or internal TLDs. https://en.wikipedia.org/wiki/Special-use_domain_name
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters CF CloudFlare CGNAT Carrier-Grade NAT DHCP Dynamic Host Configuration Protocol, automates assignment of IPs when connecting to a network DNS Domain Name Service/System IP Internet Protocol NAT Network Address Translation VPS Virtual Private Server (opposed to shared hosting)
6 acronyms in this thread; the most compressed thread commented on today has 7 acronyms.
[Thread #181 for this comm, first seen 18th Mar 2026, 09:30] [FAQ] [Full list] [Contact] [Source code]
Our setup uses a domain pointed at a dynamic (but stable) IP with a script to update it periodically
i have a little program for dynamic dns running in docker that checks every few seconds for an IP change and swaps my DNS records if it gets rerolled.
works well on my home network, I can use my domain for all my private services local and remote through wireguard :)
I don’t have a static IP, and I just make sure to never ever let my DHCP lease expire. My ISP provides the same IP to the same MAC when renewing the lease. My longest streak on the same IP was three years.
As long as I always turn my router off by cutting the power, it won’t release the lease, so I keep my IP even through reboots. My last one didn’t release the lease at all, so it only ever got a new IP if it was off for over a day, or if I set a new MAC…
When my IP does change, I’ve configured my DNS record to only last an hour. So updating the domaim to point to a new IP only takes an hour to update.
I believe cloudflare has some sort of tunneling option but I’ve never really looked into it, it might get around that.
It does, yeah. If you aren’t averse to cloudflare then it’s a great option.
From memory I think it’s limited to http/https traffic, but that’s normally not an issue, just have all your services behind a reverse proxy.
If you already have a domain name and don’t want to switch to something else, know that some DNS registrar have an API to handle the domains. For a short period of time I had to rely on this and had a little python script to get my current IP and apply it to every A record in my DNS zone.
It worked well (but then Itook an arrow in the kneehad static IP)Yeah I still do this. I have a cronjob on one of my servers that runs every five minutes, checks if the upstream DNS IP matches my public IP and, if not, sets it. Adding 60s TTL, this means an average downtime of 3 minutes per change, max 6 minutes.
It’s also possible to use different nameservers than the one the registrar provides, in case the registrar doesn’t have a proper API for DNS.









