Sign inSign up

dungtri/docker-cloudflare-dns-updater

By dungtri

•Updated over 6 years ago

dns-updater automatically check your public ip and update the dns zone on the Cloudflare platform.

Image
0

476

dungtri/docker-cloudflare-dns-updater repository overview

⁠DNS Updater

GitHub

A tiny background docker containerized process which automatically check your public ip and update the dns zone on the Cloudflare platform.

  • It has been only tested and run on Raspberry PI 2 & 3.
  • It make a GET request to http://ipv4bot.whatismyipaddress.com⁠ to retrieve the public ip address.
  • It connect & update your dns zone on cloudflare only when the IP change.

⁠Getting Started

Docker Create Service Command :

docker service create \
     --name dns-updater \
     --replicas 1 \
     --secret source=dns_updater_key,target=dns_updater_key \
     --secret source=dns_updater_zone,target=dns_updater_zone \
     -e DNS_UPDATER_EMAIL="[email protected]" \
     -e DNS_UPDATER_KEY_FILE="/run/secrets/dns_updater_key" \
     -e DNS_UPDATER_ZONE_FILE="/run/secrets/dns_updater_zone" \
     dungtri/docker-cloudflare-dns-updater:arm32

Docker Compose File :

version: "3.1"

services:
  dnsupdater:
    container_name: dns-updater
    image: dungtri/docker-cloudflare-dns-updater
    environment:
      DNS_UPDATER_EMAIL: [email protected]
      DNS_UPDATER_KEY_FILE: /run/secrets/dns_updater_key
      DNS_UPDATER_ZONE_FILE: /run/secrets/dns_updater_zone
    
    # More simple but less secure if you prefer to set the key & the zone directly 
    # as text plain, you can use these environment variables:
    # DNS_UPDATER_KEY: <token>
    # DNS_UPDATER_ZONE: <token>
    
    # (Optional) Delay between checks current ip & update when necessary (default: 30000).
    # SCHEDULER_CHECK_DELAY: <custom delay>

    secrets:
      - dns_updater_key
      - dns_updater_zone

secrets:
  dns_updater_key:
    external: true
  dns_updater_zone:
    external: true

Deploying the Service :

docker stack deploy -c dns-updater-arm32.yml dns-updater

⁠Optional environment variable

  • SCHEDULER_CHECK_DELAY Each time in millisecond, your current public internet protocol address is checked (default: 30000ms).

Tag summary

Content type

Image

Digest

Size

70 MB

Last updated

over 6 years ago

docker pull dungtri/docker-cloudflare-dns-updater