Skip to content

DDClient⚓︎

DDClient is a service that connects with Cloudflare to update my ip address whenever it is needed. By default it does so every 15 minutes.

DDClient is managed by the ddclient.hcl job.

Configuration⚓︎

DDClient doesn't need much to function well, just the zone you want to update, the email address associated with your cloudflare account, and an API key to authorize itself.

The configuration file is mounted into the container from /data/ddclient.

# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf

daemon=1800
use=web
web=checkip.dyndns.com/
web-skip='IP Address'
ssl=yes

protocol=cloudflare
ssl=yes
server=api.cloudflare.com/client/v4
login=[super secret email address]
password=[super secret API key]

# james-hackett.ie
zone=james-hackett.ie
james-hackett.ie
ca.james-hackett.ie
paperless.james-hackett.ie
home.james-hackett.ie

# dbyte.xyz
login=[super secret email address]
password=[super secret API key]
zone=dbyte.xyz
dbyte.xyz

# distrobyte.xyz
login=[super secret email address]
password=[super secret API key]
zone=distrobyte.xyz
distrobyte.xyz

The job file is located at ddclient.hcl.

job "ddclient" {
  datacenters = ["dc1"]

  type = "service"

  group "ddclient" {
    task "ddclient" {
      driver = "docker"

      config {
        image = "lscr.io/linuxserver/ddclient:latest"

        mount {
        type = "bind"
        target = "/config"
        source = "/data/ddclient"
        readonly = true
        }
      }
    }
  }
}