2026-05-20 23:55:27 +02:00
|
|
|
# Required for a public KarlDNS instance.
|
2026-05-20 13:48:24 +02:00
|
|
|
DDNS_ADMIN_PASSWORD=change-me-long-random-admin-password
|
2026-05-20 23:55:27 +02:00
|
|
|
DDNS_ADMIN_PATH=/admin
|
2026-05-21 10:05:40 +02:00
|
|
|
DDNS_DASHBOARD_COOKIE_SECRET=change-me-long-random-cookie-signing-secret
|
2026-05-20 20:03:25 +02:00
|
|
|
DDNS_PUBLIC_BASE_URL=https://karldns.de
|
|
|
|
|
DDNS_HOSTNAME_SUFFIX=karldns.de
|
2026-05-20 23:55:27 +02:00
|
|
|
|
|
|
|
|
# Required DNS backend. Use a least-privilege Cloudflare token for this zone only.
|
2026-05-20 13:48:24 +02:00
|
|
|
DDNS_REQUIRE_DNS_PROVIDER=1
|
2026-05-20 23:55:27 +02:00
|
|
|
DDNS_DNS_PROVIDER=cloudflare
|
2026-05-20 13:48:24 +02:00
|
|
|
DDNS_CLOUDFLARE_API_TOKEN=change-me-cloudflare-token
|
|
|
|
|
DDNS_CLOUDFLARE_ZONE_ID=change-me-cloudflare-zone-id
|
2026-05-20 23:55:27 +02:00
|
|
|
|
|
|
|
|
# Usually leave these defaults alone.
|
|
|
|
|
DDNS_DATABASE=/data/ddns.sqlite3
|
2026-05-20 13:48:24 +02:00
|
|
|
DDNS_TTL=60
|
2026-05-20 23:55:27 +02:00
|
|
|
|
|
|
|
|
# Optional hardening/tuning.
|
|
|
|
|
# Keep app access logs disabled unless request URLs are redacted; update links are bearer secrets.
|
|
|
|
|
# Run a single Uvicorn worker by default. Rate-limit counters and per-host update locks are process-local.
|
|
|
|
|
# DDNS_TRUSTED_HOSTS=karldns.de,www.karldns.de
|
|
|
|
|
# DDNS_DNS_ZONES=karldns.de
|
|
|
|
|
# DDNS_TRUSTED_PROXY_IPS=127.0.0.1,::1
|
|
|
|
|
# DDNS_RATE_LIMIT_PER_MINUTE=60
|
|
|
|
|
# DDNS_ADMIN_RATE_LIMIT_PER_MINUTE=20
|
|
|
|
|
# DDNS_MAX_REQUEST_BODY_BYTES=16384
|
2026-05-21 10:05:40 +02:00
|
|
|
# DDNS_REDACTED_ACCESS_LOG=0
|
2026-05-20 23:55:27 +02:00
|
|
|
# DDNS_CLEANUP_UNUSED_ACCOUNT_HOURS=1080
|
|
|
|
|
# DDNS_CLEANUP_EVENT_HISTORY_HOURS=4320
|
|
|
|
|
# DDNS_CLEANUP_INTERVAL_SECONDS=3600
|
|
|
|
|
# DDNS_DASHBOARD_UNLOCK_SECONDS=86400
|
|
|
|
|
# DDNS_DASHBOARD_STAY_UNLOCKED_SECONDS=2592000
|