Hetzner DynDNS
Weboberfläche für mehrere Hetzner-DNS-Zonen, Subdomains und Benutzer. Aktivierte A- und AAAA-Records werden regelmäßig auf die aktuelle öffentliche IP gesetzt.
Starten
Die Datei compose.yml in Portainer, Dockge oder einem anderen Docker-Webinterface als Stack einfügen und starten.
Alternativ im ausgecheckten Repository:
docker compose up -d
Danach aufrufen:
http://IP-DES-DOCKER-HOSTS:8080
Beim ersten Start werden Datenbank und Verschlüsselungsschlüssel automatisch in getrennten Docker-Volumes angelegt. Es werden keine .env-Datei und kein manuell erzeugtes Secret benötigt.
Das Compose
services:
dyndns:
image: git.j-mahler.de/admin/domain-control-webinterface-prod:v1.1.0
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- dyndns-data:/data
- dyndns-secrets:/secrets
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
volumes:
dyndns-data:
dyndns-secrets:
Soll ein anderer Port verwendet werden, muss nur die linke Zahl geändert werden, beispielsweise 9000:8080.
Aktualisieren
In compose.yml die Versionsnummer beim Image ändern, anschließend das Image ziehen und den Stack neu bereitstellen. Auf der Kommandozeile:
docker compose pull
docker compose up -d
Benutzer, Domains und Einstellungen bleiben in dyndns-data. Der Schlüssel für gespeicherte API-Tokens liegt in dyndns-secrets. Für ein vollständiges Backup müssen beide Volumes gesichert werden.
Funktionen
- mehrere Domains und getrennt verschlüsselte Hetzner-API-Tokens
- automatischer Import vorhandener A-/AAAA-Records
- DynDNS pro Subdomain und IP-Familie aktivierbar
- lokales Archiv statt Löschen von Hetzner-Records
- frei einstellbares Update-Intervall mit Countdown
- Admin- und Mitgliedskonten mit Domain- oder Subdomain-Rechten
Port 8080 verwendet zunächst unverschlüsseltes HTTP. Den Port daher nur in einem vertrauenswürdigen Netz freigeben und nicht offen ins Internet stellen.