Dynamic DNS (dDNS) works here[0]. You have free services like no-ip, and also most paid domain registrars support this. I know both Namecheap and AWS Route 53 support it if you want it at your own domain. Essentially, it's a cron curling with an API key from the host machine, that's it. Works great in my experience.
Keep in mind you will have a small downtime until the new IP is registered. Also the cache TTL of your domain will be very low, so your site will have a small loading time penalty from time to time.