I got a homelab, at the moment I am only running some local stuff and tailscale to reach my stuff remotely.
I can use tailscales ddns, but I would like a real domain. Is there a domain registrator that works with dynamic ips? Or do I need to use a CNAME instead of A record?
Cloudflare, Porkbun, Namecheap and many other registrars offer dynamic DNS via API or a ddns client very easy to setup.
I used No-IP for this very thing many years ago (using a domain on a server with a dynamic IP, anyway). I don’t know how it is now, but a quick search shows it is still around.
CloudFlare ZT tunnels coupled with an Azure AD. Work’s amazingly with their containers to keep the tunnel alive.
using azure ad for user authentication. azure ad is free but i have a paid o365 so i use that to authenticate against for access to my containers that have a fqdn attached/directed to it. and most of the containers/apps have sso with azure ad integration option available so no more logging into each single app/container.
ZoneEdit.com has a free plan with dynamic DNS for at least one „real“ domain (domain registration not included). It‘s not the most user friendly UI but super powerful. You can pretty much add any DNS record you like.
There are many ways to update dns automatically, I have used this container in the past. You could probably even write a bash script/cron job that checks your IP and updates it with curl depending on your DNS provider.
If you are already running tailscale you may be interested in using a funnel, which lets you accept and route internet traffic to your tailnet. I don’t use tailscale so can’t comment on how good/bad/useful this is.
You could also run some sort of service like frp from some remote box (like a VPS in DO/Linode/etc). This or the funnel lets you not expose/advertise your home IP address if that is a consideration.
I actually just migrated things to a setup that is pretty neat using FRP: I run frps on 2 Linodes in the same datacenter and have set up IP sharing for failover between them (which is a neat feature Linode, Vultr and probably a few others offer), and then I run 4 frpc’s, two for each frps in case one of them breaks somehow. Lots of redundancy without all that much effort.