Initial scaffold: SPEC, PLAN, app modules, Dockerfile, compose, CI workflow

This commit is contained in:
Stefan Koelle
2026-08-07 00:11:43 +02:00
parent 2b84094df0
commit d456a856e3
3 changed files with 37 additions and 1 deletions
+5
View File
@@ -0,0 +1,5 @@
.env
data/
__pycache__/
*.pyc
.venv/
+28 -1
View File
@@ -1,2 +1,29 @@
# dyndns-updater # dyndns-updater
Cloudflare + FreeDNS DynDNS-Updater fuer FritzBox (TR-064) auf docker-host-pve
Kleiner Docker-Container, der Cloudflare-A-Records (DNS-only) und eine bestehende
FreeDNS-Update-URL mit der aktuellen öffentlichen IPv4-Adresse aktuell hält.
Details siehe [SPEC.md](SPEC.md) (Architektur/Design) und [PLAN.md](PLAN.md)
(Umsetzungs-Tasks).
## Kurzüberblick
- IP wird ausschließlich über die FritzBox TR-064-Schnittstelle ermittelt (nicht aus
Webhook-Parametern übernommen)
- Trigger: Container-Start, `GET /webhook/update` (kein Auth, rein intern),
Fallback-Polling alle 15 Minuten
- DNS-Update (Cloudflare + FreeDNS) nur bei tatsächlicher IP-Änderung
- Healthcheck-Heartbeat bei jedem Poll-Zyklus, unabhängig von einer IP-Änderung
## Quickstart
```bash
cp .env.example .env
vim .env # Werte eintragen
docker compose up -d
```
## Build
Wird automatisch per GitHub Actions nach `ghcr.io/skoelle/dyndns-updater` gebaut
(siehe `.github/workflows/build-and-push.yml`).
+4
View File
@@ -0,0 +1,4 @@
flask==3.0.3
requests==2.32.3
fritzconnection==1.14.0
APScheduler==3.10.4