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)