Features: - Token-based subdomain claiming - NIC V2 (DynDNS2) protocol implementation - Technitium DNS integration - Rate limiting (10 req/min IP, 1 req/min token) - Web UI for space claiming - Docker/Docker Compose support - Compatible with UniFi, pfSense, EdgeRouter Module: git.dws.rip/DWS/dyn
30 lines
851 B
YAML
30 lines
851 B
YAML
version: '3.8'
|
|
|
|
services:
|
|
dyn:
|
|
build: .
|
|
container_name: dyn-ddns
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8080:8080"
|
|
volumes:
|
|
- ./data:/data
|
|
environment:
|
|
- SERVER_PORT=8080
|
|
- DATABASE_PATH=/data/dyn.db
|
|
- TECHNITIUM_URL=${TECHNITIUM_URL}
|
|
- TECHNITIUM_TOKEN=${TECHNITIUM_TOKEN}
|
|
- TECHNITIUM_USERNAME=${TECHNITIUM_USERNAME:-}
|
|
- TECHNITIUM_PASSWORD=${TECHNITIUM_PASSWORD:-}
|
|
- BASE_DOMAIN=${BASE_DOMAIN:-dws.rip}
|
|
- SPACE_SUBDOMAIN=${SPACE_SUBDOMAIN:-space}
|
|
- RATE_LIMIT_PER_IP=${RATE_LIMIT_PER_IP:-10}
|
|
- RATE_LIMIT_PER_TOKEN=${RATE_LIMIT_PER_TOKEN:-1}
|
|
- TRUSTED_PROXIES=${TRUSTED_PROXIES:-}
|
|
healthcheck:
|
|
test: ["CMD", "wget", "-q", "--spider", "http://localhost:8080/"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 5s
|