I found the easiest way update certificates with certbot (on my server) is to temporarily stop apache / nginx and to run the following command. Once you have the congratulations line, you can restart your web services.
After doing some research, I found that Google now offers a dynamic DNS service with their beta addition, ‘Domains‘. The transition was fairly simple, with a few minor hangups on some of the configuration. They have a fairly simplistic configuration page, but it’s highly customizable and clean. The only downfall is; there wasn’t a lot of documentation on the setup procedure and what was provided was didn’t cover a few topics that could make the process frustrating.
When reading about the DDNS setup, the guide refers to most everything with in the resource (www) as the subdomain. The guide alludes to the simplistic setup by adding an ‘@’ as in the sub domain block to setup the DDNS. After configuring your ddclient.conf and adding the domain name, you’ll notice that the update doesn’t work properly. Maybe it’s just me, but I don’t consider www as a sub domain (or maybe it’s all just a play on words in my own head). Anyway, to sum this part up, don’t use ‘@’; use www in the sub domain block to properly setup your DDNS configuration.
The configuration of ddclient.conf was another process all in itself. I am running my webserver on arch linux and maybe there hasn’t been a push for ddclient to have support for Google Domains yet. I tried using the recommended configuration for Google Domains, but that didn’t push any updates for DDNS to match my IP address. Long story short, I had to use the alternate configuration ‘without Google Domains support’ but making a slight modification to the use by adding the web for obtaining the IP address.
protocol=dyndns2 use=web, web=https://domains.google.com/checkip server=domains.google.com ssl=yes login=generated_username password=generated_password your_resource.your_domain.tld
I had been receiving errors that I couldn’t get my IP address. Not sure if it was a local network NAT issue caused by my modem and router of if it was operator error, but regardless, the above configuration worked (sort of).
The last thing I noticed was; ddclient likes to have the password enclosed with the single quote marks. Note that all of the ddclient config examples (on their wiki and on Google Domains) doesn’t show these marks around the password. My recommendation is; add them! The end result of my configuration file for ddclient looked like this:
daemon=300 syslog=yes #mail=root #mail-failure=root pid=/var/run/ddclient.pid ssl=yes use=web, web=https://domains.google.com/checkip protocol=dyndns2 server=domains.google.com login=PROVIDEDBYGOOGLE password='PROVIDEDBYGOOGLE' www.thebytes.net