Ein hochperformanter, in Go geschriebener Dynamic DNS Client für IONOS. Optimiert für moderne Dual-Stack Anschlüsse (IPv4 & IPv6) mit integriertem Web-Dashboard.
- Web-Dashboard: Behalte deine IP-Historie, API-Performance und System-Logs in Echtzeit via WebSockets im Blick.
- Dual-Stack Ready: Gleichzeitige Aktualisierung von A (IPv4) und AAAA (IPv6) Records.
- Intelligente Erkennung: Erkennt IPv6-Adressen direkt am Interface oder über externe DNS-Validierung.
- Parallele Verarbeitung: Schnelle Updates durch Go-Routines mit einstellbarem Worker-Limit (ideal für viele Subdomains).
- Multi-Architektur: Native Unterstützung für
amd64undarm64(perfekt für Raspberry Pi, NAS & Server). - Robust: Automatisches Retrying bei API-Fehlern und ordnungsgemäßes Beenden (Graceful Shutdown).
services:
ionos-ddns:
image: crazyus3r/ionos-ddns:latest
container_name: ionos-ddns
environment:
- API_PREFIX=dein_ionos_prefix
- API_SECRET=dein_ionos_secret
- DOMAINS=meine-domain.de,sub.andere-domain.com
- IP_MODE=BOTH # IPV4, IPV6 oder BOTH
ports:
- "8080:8080" # Dashboard & Healthcheck
volumes:
- ./config:/config # Speichert Logs, Historie und Übersetzungen
restart: unless-stopped
| Variable | Beschreibung | Standard |
|---|---|---|
API_PREFIX |
Dein IONOS API Public Key | (erforderlich) |
API_SECRET |
Dein IONOS API Secret | (erforderlich) |
DOMAINS |
Kommagetrennte Liste der Domains | (erforderlich) |
IP_MODE |
Modus: IPV4, IPV6 oder BOTH |
BOTH |
INTERVAL |
Intervall zwischen den Prüfungen (Sekunden) | 300 |
INTERFACE |
Netzwerk-Interface für IPv6 (z.B. eth0) |
eth0 |
DNS_SERVERS |
Externe DNS-Server zur Validierung | 1.1.1.1:53,8.8.8.8:53 |
HEALTH_PORT |
Port für Dashboard und Health-Check | 8080 |
LANG |
Sprache der Logs & UI (DE oder EN) |
DE |
LOG_MAX_LINES |
Maximale Zeilenanzahl pro Logdatei | 5000 |
MAX_CONCURRENT |
Maximale parallele API-Updates | 5 |
HOURLY_RATE_LIMIT |
Max. API-Anfragen pro Stunde | 1200 |
DRY_RUN |
Wenn true, wird nichts bei IONOS geändert |
false |
DEBUG |
Aktiviert erweitertes Logging | false |
PROVIDER |
ionos, cloudflare, ipv64 | ionos |
CLOUDFLARE_TOKEN |
Dein Cloudflare Token | (erforderlich für CF) |
CLOUDFLARE_ZONE_ID |
Dein Cloudflare Zone Id für CF) | (erforderlich für CF) |
IPV64_TOKEN |
Dein IPV64 Token für IPV64) | (erforderlich für IPV64) |
IPV64_DOMAIN_TOKEN |
Dein IPV64 Domain Token | (erforderlich für IPV64) |
TELEGRAM_BOT_TOKEN |
Telegram Token | (erforderlich für Telegram) |
RELEGRAM_CHAT_ID |
Erlaubte Chat ID | (erforderlich für Telegram) |
GOTIFY_URL |
Gotify Server URL | (erforderlich für Gotify) |
GOTIFY_TOKEN |
Gotify Token | (erforderlich für Gotify) |
NOTIFY_ON |
Welche Aktionen Gesendet werden | UPDATE,CREATE,ERROR |
DOMAINS_CONFIG=[{"fqdn": "domainA, subdomainA, domainB","provider": "IPV64","ipv64_token": "${IPV64_TOKEN}"},{"fqdn": "domainA, subdomainA, domainB","provider": "IONOS","API_PREFIX": "${API_PREFIX}", "API_SECRET": "${API_SECRET}"}]Das Dashboard ist unter http://server-ip:8080 erreichbar. Es zeigt den aktuellen Status der API-Verbindung, die Performance-Metriken und ein Echtzeit-Log der Systemereignisse.
Das Tool nutzt das Verzeichnis /config (im Docker-Container) zur Speicherung: /config/logs/dyndns.json: Detailliertes Ereignis-Log im JSON-Format. /config/logs/update.json: Kompakte Historie deiner IP-Wechsel pro Domain.
Beispiel update.json:
{
"meine-domain.de": {
"ips": [
{
"time": "18.01.2026 13:22:00",
"ipv4": "x.x.x.x",
"ipv6": "x:x:x:x:248:1893:25c8:1946"
}
]
}
}
Du kannst die vorkompilierten Binaries für Linux (AMD64/ARM64) und Windows direkt aus den GitHub Releases herunterladen.
- Lade die passende Datei für dein System herunter.
- Setze die Umgebungsvariablen (z. B. via .env Datei oder export).
- Starte das Programm: ./ionos-ddns
Logge dich in die IONOS Developer Konsole ein. Erstelle einen neuen Key (Typ: Public). Kopiere das Prefix und das Secret in deine Konfiguration.
Dieses Projekt ist unter der MIT-Lizenz lizenziert.