# DynDNS Docker für Hetzner DNS Ein Docker-basiertes Dynamic DNS System für die Hetzner DNS Console. ## Features - Automatische Erkennung von IP-Änderungen - Integration mit Hetzner DNS API - Konfigurierbare Check-Intervalle - Docker-Container für einfaches Deployment - Umgebungsvariablen für sichere Konfiguration ## Voraussetzungen - Docker und Docker Compose - Hetzner DNS API Token - Domain bei Hetzner DNS verwaltet ## Installation ### 1. Repository klonen ```bash git clone cd dyndns-docker ``` ### 2. Konfiguration Kopieren Sie die Beispiel-Konfigurationsdatei und passen Sie sie an: ```bash cp .env.example .env ``` Bearbeiten Sie die `.env` Datei mit Ihren Daten: ```env HETZNER_API_TOKEN=your_api_token_here DOMAIN=example.com RECORD_NAME=home RECORD_TYPE=A CHECK_INTERVAL=300 ``` ### 3. Container starten ```bash docker-compose up -d ``` ## Konfiguration ### Umgebungsvariablen | Variable | Beschreibung | Beispiel | |----------|-------------|----------| | `HETZNER_API_TOKEN` | Hetzner DNS API Token | `abc123...` | | `ZONE_ID` | Hetzner DNS Zone ID (optional, wird automatisch ermittelt) | `xyz789...` | | `DOMAIN` | Domain-Name | `example.com` | | `RECORD_NAME` | DNS Record Name | `home` oder `@` für Root | | `RECORD_TYPE` | DNS Record Typ | `A` (IPv4) oder `AAAA` (IPv6) | | `CHECK_INTERVAL` | Prüfintervall in Sekunden | `300` (5 Minuten) | | `LOG_LEVEL` | Log-Level | `INFO`, `DEBUG`, `WARNING` | ## Verwendung ### Container Status prüfen ```bash docker-compose ps ``` ### Logs anzeigen ```bash docker-compose logs -f ``` ### Container neu starten ```bash docker-compose restart ``` ### Container stoppen ```bash docker-compose down ``` ## Hetzner DNS API Token erstellen 1. Melden Sie sich im [Hetzner DNS Console](https://dns.hetzner.com/) an 2. Gehen Sie zu "API Tokens" 3. Erstellen Sie einen neuen API Token mit Lese- und Schreibrechten 4. Kopieren Sie den Token in Ihre `.env` Datei ## Versioning Dieses Projekt folgt einer vereinfachten Versionierungsstruktur: - **0.1**: Große Änderungen (neue Features, Breaking Changes) - **0.0.1**: Kleine Änderungen (Bugfixes, kleinere Verbesserungen) - **1.x**: Major Releases (nur nach Anweisung) ## Lizenz MIT License ## Support Bei Fragen oder Problemen erstellen Sie bitte ein Issue im Repository.