services: dyndns: build: context: . image: local/hetzner-dyndns-dashboard:latest restart: unless-stopped ports: # Use one explicit RFC1918 host address for LAN access, never 0.0.0.0 in HTTP mode. - "${BIND_ADDRESS:-127.0.0.1}:${WEB_PORT:-8080}:8080" environment: APP_MODE: ${APP_MODE:-lan} APP_ADDRESS: :8080 APP_DATA_DIR: /data APP_MASTER_KEY_FILE: /run/secrets/dyndns_master_key volumes: - dyndns-data:/data secrets: - dyndns_master_key read_only: true tmpfs: - /tmp:rw,noexec,nosuid,size=16m security_opt: - no-new-privileges:true cap_drop: - ALL secrets: dyndns_master_key: file: ${MASTER_KEY_FILE:-./secrets/dyndns_master_key} volumes: dyndns-data: