Docker – Hetzner-DNS-Updater einrichten

Veröffentlicht von

Eine kleine Anleitung wie man Hetzner-DNS-Updater in Portainer mit Docker-Compose einrichtet. Dieses Tool sendet über die Hetzner-API die öffentliche IP-Adresse an den Hoster Hetzner.

# Erstelle das Verzeichnis für die App
mkdir -p ~/docker/hetzner-dns-updater

# Erstelle die leere config.yaml Datei
touch ~/docker/hetzner-dns-updater/config.yaml

# Datei öffnen
nano ~/docker/hetzner-dns-updater/config.yaml

# folgendes in die config.yaml Datei kopieren (speichern mit Strg+O, Enter und schließen mit Strg+X)
record_id: ""           # Die Record-ID bekommt man von Hetzner (https://dns.hetzner.com/api-docs/#operation/GetRecords)
zone_id: ""             # Die Zone-ID bekommt man von Hetzner (https://dns.hetzner.com/api-docs/#tag/Zones)
name: "server"          # Das ist der Name, der Subdomain, die bearbeitet werden soll
type: "A"               # Um was für ein Record-Type handelt es sich, bei der Subdomain, die bearbeitet werden soll
ttl: 7200               # TTL steht für "Time to Live" und bestimmt, wie lange Informationen zu einer Domain im Internet gespeichert werden sollen. (in sekunden)
auth_api_token: ""      # Der Access Token kann bei Hetzner erstellt werden (https://dns.hetzner.com/settings/api-token)
refresh: 5              # In welchen intervallen soll die IP an Hetzner gesendet werden (Angabe in Minuten)
publicIP: ""            # Wenn das Feld leer ist, wird die Public-IP automatisch ermittelt und an Hetzner gesendet, wenn das Feld ausgefüllt ist, wird diese IP an Hetzner gesendet

# zu Portainer wechseln und ein Stack anlegen und im Web-Editor folgenden code kopieren
version: '3.8'

services:
  updater:
    image: ingerten/hetzner-dns-updater:latest
    container_name: hetzner-dns-updater
    restart: unless-stopped
    volumes:
      # Hier wird der Pfad von deinem Ubuntu-Home-Verzeichnis genutzt
      - /home/inge/docker/hetzner-dns-updater/config.yaml:/root/config.yaml:ro
	  
# Stack Deployen und in den Logs schauen ob der status "Response Status: 200 OK" erscheint,
  dann sollte alles funktioniert haben
Code-Sprache: PHP (php)