From what I know, there is very few solutions for this purpose. I haven't found a direct way to update DNS records from docker containers, without a lot of crafting.
I toyed with registrator but it's not updated since a long time (https://github.com/gliderlabs/registrator). The idea is to plug container to another backend, etc/consul. For internal traffic, it's good but if you want to publicly expose the zone, probably need to setup a real DNS server as proxy. Well a lots of setup, especially if you want internet exposition .
On my side, I started a little python project that watch docker events, scan container labels, and send a nsupdate add/del records to another DNS server that accept dnsupdate. The smartest approach on my side, but it relies on a quick and dirty script I wrote. If I take time to rewrite it, I guess it could be a good solution for every one. Ho and it also solve the dual-dns issue, as you can forward different records to different servers.
If you feel I interested, I can publish my python project :)
Thank you for sharing your experience in such a detailed way. I will take a look at all these repositories you mention ☺️
About what you say about your project, of course. I would be very happy to try it. If you can publish it it would be great!
I have a *.svr.domain.tld on Google Domains (need to transfer somewhere else), and then on Caddyfile I can register individual foo.svr.domain.tld without touching DNS
That's a very good one! I hadn't thought about it that way. Anyway, if there was some similar tool for Caddy it would be great. Thanks for your comment.
Put your request in caddy forums and tag mholt he is very responsive . You could also sign up for open ai (chat gpt) feed it the compose.yml file in that github and ask it "what does this yml do" let it answer then ask "what modifications would be needed to make a similar script or yml that uses caddy in stead of traffik" when it gives you a working output (try it ) and go back to forums and say I want to make somethng like this and get feedback . Rinse and repeat and it may already exist as a combo of adding caddy packages + you just need the right caddyfile or json + addons to work with what may already exist as a feature with some docker tweaks