I use this project oznu/docker-cloudflare-dns1 where the author implements everything in bash, curl and jq. There were a bunch of projects that does this DDNS with CloudFlare but I chose this project because of this uniqueness.

To use this, you just have to create an API token with Cloudflare that has these permissions:

  • Zone - Zone Settings - Read
  • Zone - Zone - Read
  • Zone - DNS - Edit

Also, set zone resources to All zones. And then, run the docker container

docker run -d \
    -e API_KEY=<cloudflare-token> \
    -e ZONE=<example.com> \
    -e SUBDOMAIN=<subdomain> \
    --restart=unless-stopped oznu/cloudflare-ddns

ddns cloudflare docker