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.

S
Description
No description provided
Readme
365 KiB
0 Stars 0 Watchers 0 Forks
Languages
Go 73.9%
CSS 11%
HTML 10.2%
JavaScript 4.6%
Dockerfile 0.3%