- Implement Python-based DynDNS client with Hetzner DNS API integration - Add automatic IP detection for IPv4/IPv6 - Add automatic zone ID discovery - Add Docker configuration with multi-stage build - Add Docker Compose setup with restart policy - Add environment variable configuration - Add comprehensive documentation (CLAUDE.md) - Add example configuration (.env.example) - Add health check for container monitoring Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| Dockerfile | ||
| README.md | ||
| docker-compose.yml | ||
| dyndns.py | ||
| requirements.txt | ||
README.md
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
git clone <repository-url>
cd dyndns-docker
2. Konfiguration
Kopieren Sie die Beispiel-Konfigurationsdatei und passen Sie sie an:
cp .env.example .env
Bearbeiten Sie die .env Datei mit Ihren Daten:
HETZNER_API_TOKEN=your_api_token_here
DOMAIN=example.com
RECORD_NAME=home
RECORD_TYPE=A
CHECK_INTERVAL=300
3. Container starten
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
docker-compose ps
Logs anzeigen
docker-compose logs -f
Container neu starten
docker-compose restart
Container stoppen
docker-compose down
Hetzner DNS API Token erstellen
- Melden Sie sich im Hetzner DNS Console an
- Gehen Sie zu "API Tokens"
- Erstellen Sie einen neuen API Token mit Lese- und Schreibrechten
- Kopieren Sie den Token in Ihre
.envDatei
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.