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
I run a variety of self hosted things via my domain on a dynamic IP. I just have dynamic dns set up to check my current public IP periodically, and update the dns entry if it changes.
The VPS I rent from Ionos for tunneling is $2 a month just so you know it’s not a major amount of money.
You can use Netbird Cloud’s reverseproxy to point your domain to a device on your wireguard mesh.
That way your home server can be under 3x NATs and dynamic IP and you’ll still be fine.
Later if you want to own the netbird you can self host it on a VPS if you’re willing to migrate all devices to your self hosted wireguard mesh.
It is very much possible to have a dynamic IP and a usable domain.
Both Cloudflare and desec.io (for example) have APIs that you can hit everytime your public IP changes.
I have a script that checks every minute whether my public IP has changed from the last check, and if it has, an API call will be sent.
With a scheme like this, your downtime will be minimal, if ever even noticed.
You don’t have any great options but you do have some options. You’ll need dynamic DNS, which you can get for free by various providers. This will manage a “dynamic” DNS entry for your occasionally changing, non-static IP at home. The dynamic DNS entry won’t be on your own domain name, it will be on the provider’s domain name. But wait! That’s just step one.
You can still get your own, fully-functional domain name, and you can have all the domains and subdomains you want, and set them up however you want, with one important restriction: You can’t use IP addresses (because yours is dynamic, and changes all the time and you would have to be constantly updating your domain every time it does, and there would be delays and downtime while everything gets updated).
Instead, your personal domains have to use CNAME records. This substitutes the IP from a different domain INTO your domain. So you CNAME every entry on your own fancy domains to point at your dynamic DNS provider, which manages the dynamic part of the problem for you and always gives the real IP you need. Nobody sees the dynamic DNS name, it’s there, but it’s happening behind the scenes, they still see your fancy personalized domain names.
It’s still not going to be perfect, it won’t work well or at all for certain services like email hosting (self-hosting this is not for the faint of heart anyway) that are very strict about how their DNS and IP addresses need to be set up, but it will likely be good enough for 99% of the stuff you want to self-host.
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
Neither of those are requirements. Just buy a domain at a registrar that allows you to dynamically update an IP address with a domain you have there. Look into DDNS update scripts and/or your own internet router, many routers have that feature built-in already.
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’ll be honest, despite already having a reverse proxy on my home setup I did not think of doing something like that. That sounds like a great idea
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).
DynDNS is your friend.
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.
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.
+1 for freedns!
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.
You can use Netbird reverse proxy to connect your domain to any device on your mesh. Netbird cloud supports the reverseproxy too now if you don’t want to self host netbird on a VPS.
Our setup uses a domain pointed at a dynamic (but stable) IP with a script to update it periodically
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)
7 acronyms in this thread; the most compressed thread commented on today has 14 acronyms.
[Thread #181 for this comm, first seen 18th Mar 2026, 09:30] [FAQ] [Full list] [Contact] [Source code]
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.






