Docker build of a Cloudflare DDNS client using their example code
Go to file
Ian Fijolek 3402b91b04
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
Contain entire build in Dockerfile
Rather than pulling and storing the py file, having start script
and fetching of qemu files here, everything can just be done in the
Dockerfile.
2020-01-23 17:49:12 -08:00
.dockerignore Working commit 2019-03-05 11:16:45 -08:00
.drone.yml Contain entire build in Dockerfile 2020-01-23 17:49:12 -08:00
.gitignore Add multiarch building from Drone 2019-03-10 18:09:12 -07:00
Dockerfile Contain entire build in Dockerfile 2020-01-23 17:49:12 -08:00
LICENSE Initial commit 2019-03-05 19:15:08 +00:00
Makefile Contain entire build in Dockerfile 2020-01-23 17:49:12 -08:00
manifest.tmpl Add multiarch building from Drone 2019-03-10 18:09:12 -07:00
README.md Contain entire build in Dockerfile 2020-01-23 17:49:12 -08:00

Docker Cloudfare DDNS

Simple Docker image that wraps an example script to dynamically update a Cloudflare DNS record.

Usage

There are two things to configure. First, the domain that you wish to update needs to be provided as a command line argument. This can be done by adding it to the end of your run command (example in the Makefile) or by adding it as a command to your compose file. Eg:

ddns:
  image: IamTheFij/cloudflare-ddns
  command: ["example.com"]

Your Cloudflare credentials can be passed in any way that python-cloudflare allows. Generally, either via envioronment variables:

CF_API_EMAIL=admin@example.com  # Do not set if using an API Token
CF_API_KEY=00000000000000000000
CF_API_CERTKEY='v1.0-...'

Or by providing a file mounted to the working directory in the image, /src/.cloudflare.cfg that contains something like:

[CloudFlare]
emal = admin@example.com  # Do not set if using an API Token
token = 00000000000000000000
certtoken = v1.0-...

Then run. To execute from this directory, you can use the convenient Make target.

make run