Cloudflare DDNS is a configurable Docker service updating your CloudFlare DNS records periodically to match your local IP address.
While this project is intended to be ran as a Docker container, it can also be ran on the host directly.
This project is available on the GitHub Container Registry.
docker pull ghcr.io/akarys42/cloudflare-ddns-docker
There are no special requirements when building this container! Simply use docker build
in this folder.
In order to run this project on the host, you'll need Python > 3.8, and an environment containing
the dependencies listed in requirements.txt
.
The project can then by launched by running the cloudflare_ddns
module, usually using python -m cloudflare_ddns
.
This project will accept parameters through environment variables or command line argument. Feel free to select the method fitting your setup the best!
The first step will be to create an API token with the following scopes:
Zone:Read
DNS:Edit
We currently support following settings:
Parameter Name | Short Command Line Option | Long Command Line Option | Environment Variable | Description |
---|---|---|---|---|
Token [mandatory] | -k |
--token |
CF_DDNS_TOKEN |
Your Cloudflare token created in the previous step. |
Delay [default: 5 minutes] | -d |
--delay |
CF_DDNS_DELAY |
The time to wait between each update. It is parsed per strftime . |
The domains to update will have to either be passed as command line arguments after the options
or with a space separated CF_DDNS_DOMAINS
environment variable.
Each domain can be preceded by the record type, either A or AAAA, followed by a colon. Otherwise any found A or AAAA record pointing to this domain found will be used.
Any help would be greatly appreciated! Feel free to check our open issues and send us a Pull Request!