Docker build of a Cloudflare DDNS client using their example code
Go to file
IamTheFij 3402b91b04
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/tag Build is passing Details
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
README.md 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

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