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:9090

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:
      - "9090: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.

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 9090 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%