this post was submitted on 04 Jul 2023
25 points (96.3% liked)

Selfhosted

40359 readers
452 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

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?

you are viewing a single comment's thread
view the rest of the comments
[–] dragnet@lemmy.fmhy.ml 2 points 1 year ago (1 children)

Emphasis on "a bit," it truly is a simple task to automate. I don't think that anyone who has need for dynamic DNS should realistically have much trouble tackling that problem.

For anyone who might attempt this and isn't sure how, here's what you need. You need a service controlling your domain with API support for updating your DNS records - some have been mentioned here, I just use gandi.net. You need to enable the API for your account/domain. Figure out how to run the command you need against the API from a scripting language of your choice - there should be documentation for the API, and it should be a single API call. Figure out how to determine your server IP from within the same scripting language. Then, write your simple script that determines the right IP and updates the record if it doesn't match.

All you need to do then is automate running the script - on Linux, a cron job or a systemd service and timer.

[–] redcalcium@c.calciumlabs.com 1 points 1 year ago (1 children)

Figure out how to determine your server IP from within the same scripting language.

My go to way to figure out my public IP address is curl ip.me. Very handy and easy to remember.

[–] SteveTech@programming.dev 1 points 1 year ago (1 children)

My router actually has a UPnP API that I can request and get my external IP, which I like so I can poll it every few seconds and not worry about rate limiting or something.

[–] redcalcium@c.calciumlabs.com 1 points 1 year ago (1 children)

Meanwhile, my ISP would often rotate their customer behind their CGNAT, so the IP address from the routers upnp would often return 10.x.x.x . One of the main reason I gave up using dynamic DNS and use Tailscale instead.

[–] SteveTech@programming.dev 1 points 1 year ago

Port forwarding wouldn't work anyway with CGNAT, so I don't think that's much of an issue.