Setup DDNS-Updater
Overview
Program to keep DNS A and/or AAAA records updated for multiple DNS providers
Important DDNS-Updater Files
Fill in the zone_identifier, domain, host, and token in the json file.
| Variable | Description |
|---|---|
zone_identifier |
Zone Key on cloudflare's Domain Page. |
domain |
Root Domain of the host. |
host |
Subdomain that you will want to be updated with the IP Address. |
token |
API Key that you can generate using Create a Cloudflare API Key |
config.json file
{
"settings": [
{
"provider": "cloudflare",
"zone_identifier": "",
"domain": "",
"host": "ddns",
"ttl": 600,
"token": "",
"ip_version": "ipv4",
"ipv6_suffix": ""
}
]
}
Important Docker Files
.env file
.env
NAME=ddns-updater
APPDATA=
PORT=8000
SUB=ddns
NTFY_URL=
TZ=America/New_York
docker-compose.yml file
docker-compose.yml
services:
ddns-updater:
image: qmcgaw/ddns-updater
container_name: ${NAME}
restart: always
networks:
- proxy
dns:
- '10.1.10.1'
volumes:
- ${APPDATA}/${NAME}:/updater/data
labels:
swag: enable
swag_address: ${NAME}
swag_port: ${PORT}
swag_url: ${SUB}.${DOMAIN}
swag_auth: authelia
com.centurylinklabs.watchtower.enable: true
environment:
PERIOD: 5m
UPDATE_COOLDOWN_PERIOD: 5m
PUBLICIP_FETCHERS: all
PUBLICIP_HTTP_PROVIDERS: all
PUBLICIPV4_HTTP_PROVIDERS: all
PUBLICIPV6_HTTP_PROVIDERS: all
PUBLICIP_DNS_PROVIDERS: all
PUBLICIP_DNS_TIMEOUT: 3s
HTTP_TIMEOUT: 10s
TZ: ${TZ}
#BACKUP_PERIOD: 0 # 0 to disable
#BACKUP_DIRECTORY: /updater/data
SHOUTRRR_ADDRESSES: "ntfy://${NTFY_URL}/DDNS"
networks:
proxy:
external: true
Start the Container
Start the Container
docker compose up -d