Other homelabbers like myself may be at the mercy of an ISP providing a fluid public IP address. This poses a challenge when exposing services that need to be accessible outside of your home network. Many routers have built-in Dynamic DNS capabilities, but they don't integrate with all DNS providers. I recently found myself in this situation using an ASUS router and Cloudflare DNS. To solve the problem, I turned to Ansible...
Autodotes Post:
https://autodotes.com/posts/tXTmnBtHZf9TaFY6woVp
Source Code:
https://github.com/zjleblanc/ansible-cloud-mgmt/blob/master/playbooks/dns/dynamic_dns.yml