Based on instantlinux/ddclient v3.11.2-r0
Dynamic-DNS client - automatically updates a public DNS name with your dynamic IP address. Set this up under Kubernetes or Docker Swarm to ensure it's always running.
If you're using a secret, to create the secret create:
echo -n user:pw ddclient-user
kubectl create secret generic ddclient-user --from-file=./ddclient-user
# or #
docker secret create ddclient-user ddclient-user
Then deploy this service, see the example helm / docker-compose.yml files. Available environment variables are:
| Variable | Default | Description |
|---|---|---|
| HOST | the DNS name whose address you want kept up to date | |
| INTERVAL | 60 | poll interval in seconds |
| IPLOOKUP_URI | https://checkipv4.dedyn.io | a URI that returns the IPv4 address to be assigned |
| SERVER | update.dedyn.io | remote dynamic-DNS server hostname |
| SERVICE_TYPE | dyndns2 | DNS vendor, see available services |
| USER_LOGIN | Login name | |
| USER_PASSWORD | Using Docker Secret | If you set this environment variable it will use that, otherwise it will look for a Docker Secret. |
| USER_SECRETNAME | ddclient-user | Name of the Docker secret containing password |
Instead of supplying these variables, if your provider requires more parameters than shown above, you can volume-mount the configuration as /etc/ddclient/ddclient.conf.
Logging is set to verbose in order to have any logging at all; it's not possible to reduce verbosity to a lower level than about 18 lines of output per interval without modifying source code.
The original repo has complete instructions for building a kubernetes cluster where you can launch with helm or kubernetes.yaml using make and customizing Makefile.vars after cloning this repo:
If you want to make improvements to this image, feel free to make a concise PR.