Cloudflare DDNS is a Docker image that update DNS records on Cloudflare on schedule.
docker run -d -v ./config.yaml:/app/config.yaml ghcr.io/joshuaavalon/cloudflare-ddns:<TAG>
The Docker image now supports multiple architecture. arm32v6
will no longer be used.
Because of Docker Hub removal of free team plan, joshava/cloudflare-ddns
is no longer supported.
It is recommended to use tagged version instead of latest
.
API Token is needed to set the DNS records.
See API Token on how to create it.
Global API is no longer supported. Please use API token.
Go to you domain overview page and scroll to the bottom. Copy the Zone ID
in the API section.
There are 2 types of configuration supported: environment variables or file.
Note that CF_DNS__CRON
and CF_DNS__LOG_TYPE
can only configure via environment variables because it is used before the application start.
From v3, you should use either environment variables or file configuration. They will no longer be merged. (Except CF_DNS__CRON
and CF_DNS__LOG_TYPE
)
You can verify your configuration with JSON Schema
For file configuration, the configuration should be place at /app/config.yaml
. It can be changed by defining CF_DNS__CONFIG
in environment variables.
auth:
scopedToken: QPExdfoNLwndJPDbt4nK1-yF1z_srC8D0m6-Gv_h
domains:
- name: foo.example.com
type: A
proxied: true
create: true
zoneId: JBFRZWzhTKtRFWgu3X7f3YLX
See configuration for details.
See migration for details.