Initial commit: Project structure v0.1.0

- Add README with installation and configuration guide
- Add CHANGELOG for version tracking
- Add .gitignore for common files

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Schulz 2026-02-16 22:19:12 +01:00
commit 57e51630ff
3 changed files with 173 additions and 0 deletions

49
.gitignore vendored Normal file
View File

@ -0,0 +1,49 @@
# Environment variables
.env
# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
# Virtual environments
venv/
env/
ENV/
env.bak/
venv.bak/
# IDE
.vscode/
.idea/
*.swp
*.swo
*~
# Logs
*.log
logs/
# OS
.DS_Store
Thumbs.db
# Docker
docker-compose.override.yml

12
CHANGELOG.md Normal file
View File

@ -0,0 +1,12 @@
# Changelog
Alle wichtigen Änderungen an diesem Projekt werden in dieser Datei dokumentiert.
Das Format basiert auf [Keep a Changelog](https://keepachangelog.com/de/1.0.0/).
## [0.1.0] - 2026-02-16
### Hinzugefügt
- Initiale Projektstruktur
- README mit Installationsanleitung
- CHANGELOG für Versionsverwaltung

112
README.md Normal file
View File

@ -0,0 +1,112 @@
# 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 <repository-url>
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.