DDclient in docker
guide by example
Purpose & Overview
Automatic DNS entries update.
DDclient is a Perl client used to update dynamic DNS records.
Useful if not having a static IP from ISP, so that if you reset your router,
or have power outage, and you get a new public IP assigned,
this IP gets automaticly set in the DNS records for your domains.
In this setup it works by checking every 10 minutes checkip.dyndns.org, and if the IP changed from the previous one, it updates the DNS records.
Files and directory structure
/etc/
└── ddclient/
└── ddclient.conf
Installation
Install ddclient from your linux official repos.
After configuration enable the service
sudo systemctl enable --now ddclient
Configuration
Official ddclient config example here.
This setup assumes the DNS records are managed Cloudflare.
Make sure all subdomains in the config have A-records.
ddclient.conf
daemon=600
syslog=yes
mail=root
mail-failure=root
pid=/var/run/ddclient.pid
ssl=yes
use=web, web=checkip.dyndns.org/, web-skip='IP Address'
##
## CloudFlare (www.cloudflare.com)
##
protocol=cloudflare, \
zone=blabla.org, \
ttl=1, \
login=bastard.blabla@gmail.com, \
password=global-api-key-goes-here \
blabla.org,*.blabla.org,subdomain.blabla.org
##
protocol=cloudflare, \
zone=blobloblo.net, \
ttl=1, \
login=bastard.blobloblo@gmail.com, \
password=global-api-key-goes-here \
blobloblo.net,*.blobloblo.net,whatever.blobloblo.org
Update
During host linux packages update.
Backup and restore
Backup
Using borg that makes daily snapshot of the /etc directory which contains the config files.
restore
Replace the content of the config files with the one from the backup.