Sign inSign up

neomax7/cf-ddns

By neomax7

•Updated about 2 years ago

Cloudflare DNS update agent

Image
Developer tools
0

467

neomax7/cf-ddns repository overview

⁠Cloudflare DNS update agent

This docker image create and update A record of Cloudflare DNS

and let you use Cloudflare as dynamic DNS service.

⁠#INSTALLATION

⁠##OPTION 1 - docker compose
⁠
  1. Edit the following sample then save as docker-compose.yaml
services:
  cf-ddns:
    image: docker.io/neomax7/cf-ddns:latest
    environment:
    - TOKEN=PLACE_YOUR_OWN_TOKEN # your TOKEN from Cloudflare Dashboard (require ZONE edit)
    - ZONE=PLACE_YOUR_OWN_ZONE # your ZONE ID from Cloudflare Dashboard
    - RECORD=PLACE_YOUR_SUBDOMAIN # Subdomain of your choice , example: test.example.com => example.com = zone , test = subdomain
    #- TIMEZONE=PLACE_YOUR_TIMEZONE # OPTIONAL: for more accurate cronjob otherwise its UTC
    #- CRON=* * * * * # OPTIONAL: default is every 5 min, make sure no quote or double quote

  1. in the same directory as above file
docker compose up -d


⁠##OPTION 2 - docker
docker run -d --rm --env TOKEN=YOUR_TOKEN --env ZONE=YOUR_ZONE_ID --env RECORD=RECORD_OF_CHOICE neomax7/cf-ddns


⁠#Environment Variables

This agent takes following environment variables
#required
TOKEN = Cloudflare API TOKEN with DNS EDIT permission
ZONE = ZONE ID from Cloudflare dashboard
RECORD = name of A record wish to register
#optional
CRON = typical cron schedule ex: */5 * * * *
TIMEZONE = your timezone


⁠#DESCRIPTION

script content

  1. $CRON schedule fires the script
  2. the script searches for the $RECORD in your $ZONE
  3. if the $RECORD exists, delete the record
    (currently Cloudflare API doenst let you patch or put with Bearer token)
  4. create the $RECORD with public IP obtained from https://ifconfig.me⁠

Tag summary

Content type

Image

Digest

sha256:476579436…

Size

66 MB

Last updated

about 2 years ago

docker pull neomax7/cf-ddns