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
Update: after reading the comments the two main options I’m considering now are either a cheap VPS to use as proxy for my network via wireguard, or DynamicDNS. I’ll see if I can figure out the rest from here, thank you!
You might want to try out Tailscale. It’s a mesh network overlay that you can either share easily within your tailnet or out to the greater internet with funnel (sorta like cloudflare tunnels, but somewhat better at respecting privacy). It’s also possible to self host the controller, so you don’t have to depend on a third party.
Nobody else mentioned DuckDNS. It’s free and has worked great for me for years.
You’ll need to install a client that syncs/auto-updates your public IP, then pretty much never touch it again.
Sure, you can just use your home wifi. Some of them are static, and others don’t change really often, like once a month, so dyndns will work well. You could also use cloudflared that is a proxy you can use even if you can’t open your ports
You need static IP only if you want to host the autoritative DNS server for your domain (spoiler alert: you don’t).
You don’t need to proxy your traffic via VPS (higher latency for no good reason) and the dyndns providers are over priced.
What you need is:
- Buy your domain
- Use a free DNS provider (I used for years the excellent dns.he.net but it is a bit cumbersome. Nowadays I gave up and I now use cloudflare without any proxying, just pure DNS)
- Point your registrar to the dns provider
- use ddclient to update the IP of a domain entry (e.g. server.example.com)
- add as many CNAME as you want that point to that entry (so you can have stuff like Jellyfin.example.com www.example.com Nextcloud.example.com)
That’s all… ddclient will update that single dns entry every time your server restarts (or the IP lease expires and you get a new IP)
The only thing you need to pay here is the domain (you can get free domains but that is another story and tbh I would not recommend, there are cheap domains out of there)
mhh I don’t think this works behind cgnat…
it works if you have a dynamic public ip. Where I’m from, generally, they give you a natted ip.
For sure, you need a public (dynamic) IP for this.
NAT sucks, been there, done that… ugh! And, yeah, nothing can be done short of some sort of proxing that adds latency and unreliability
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 VPN Virtual Private Network VPS Virtual Private Server (opposed to shared hosting)
[Thread #181 for this comm, first seen 18th Mar 2026, 09:30] [FAQ] [Full list] [Contact] [Source code]



