Hier beschreibe ich, wie man einen Docker-Container einrichtet, der CloudFlare jedes Mal aktualisiert, wenn sich die IP-Adresse des Internetdienstanbieters (ISP) ändert.
Dafür gibt es einen Docker-Stack von oznu unter https://hub.docker.com/r/oznu/cloudflare-ddns
Ich habe den Container ein wenig geändert, indem ich Subdomains entfernt und PUID und PGID hinzugefügt habe, aber das ist alles.
version: '2'
services:
cloudflare-ddns:
image: oznu/cloudflare-ddns:latest
restart: always
environment:
- API_KEY=xxxxxxx
- ZONE=example.com
- SUBDOMAIN=subdomain
- PROXIED=false
- PUID=
- PGID=
Netzwerk muss „Host“ sein, sonst geht die Namensauflösung schief!
Ein Cloudflare API token erstellen
Um einen Cloudflare API-Token für die DNS-Zone zu erstellen geht man zu https://dash.cloudflare.com/profile/api-tokens .
Dann folgende Sachen
- Klicke auf Token erstellen
- Vergib einen aussagekräftigen Namen für den Token, z.B. :
cloudflare-ddns
- Dann folgende Berechtigungen für den Token einstellen:
- Zone – Zoneneinstellungen – Lesen
- Zone – Zone – Lesen
- Zone – DNS – Bearbeiten
- Die Zonen Resourcen setzen auf zone resources to:
- Include – All zones
- Den Wizard vervollständigen, den erstellten Token kopieren und in die
API_KEY
= Variable des Containers einfügen.