[daemon] # host = "localhost" # default, use reverse proxy for public access! # # Use "0.0.0.0" for IPv4-only, "::" for IPv6-only (dual-stack depends on OS) # port = 8443 # default # log_level = "INFO" # default # log_target = "stdout" # default, "stdout", "syslog" or "file" # syslog_socket = "/dev/log" # default # syslog_facility = "daemon" # default # log_file = "/var/log/ddns-service/ddns-service.log" # default, used if log_target = "file" # log_file_size = 52428800 # default, 50 MB in bytes # log_versions = 5 # default, 5 backup files # log_requests = false # default # ssl = false # default ssl_cert_file = "/etc/ddns-service/cert.pem" # required if ssl = true ssl_key_file = "/etc/ddns-service/key.pem" # required if ssl = true # proxy_header = "" # default (disabled), header name e.g. "X-Forwarded-For" # trusted_proxies = [] # default, list of trusted proxy IPs/CIDRs # thread_pool_size = 10 # default, max concurrent request handlers # request_timeout = 10 # default, socket timeout in seconds [database] # backend = "sqlite" # default, "sqlite", or "mariadb" path = "/var/lib/ddns-service/ddns.db" # required for sqlite # host = "localhost" # required for mariadb # port = 3306 # required for mariadb # user = "ddns" # required for mariadb # password = "secret" # required for mariadb # database = "ddns" # required for mariadb # pool_size = 5 # default, MariaDB connection pool size [dns_service] # dns_server = "127.0.0.1" # default, must be IP address # dns_port = 53 # default # dns_timeout = 5 # default, seconds # ddns_default_key_file = "/etc/ddns-service/ddns.key" # optional, BIND TSIG key # cleanup_interval = 60 # default, seconds # Per-zone TSIG key overrides (optional) # [dns_service.zone_keys] # "dyn.example.com" = "/etc/ddns-service/dyn-example.key" [defaults] # dns_ttl = 60 # default, DNS record TTL in seconds # expiry_ttl = 3600 # default, 0 to disable expiration [email] # enabled = false # default smtp_host = "localhost" # required if email.enabled # smtp_port = 25 # default # smtp_user = "" # smtp_password = "" # smtp_starttls = false from_address = "ddns@example.com" # required if email.enabled # change_notification_template = "/etc/ddns-service/change_notification.j2" # optional # expiry_notification_template = "/etc/ddns-service/expiry_notification.j2" # optional [rate_limit] # enabled = true # default # good_window_seconds = 60 # default # good_max_requests = 5 # default # bad_window_seconds = 60 # default # bad_max_requests = 3 # default # cleanup_interval = 60 # default, interval in seconds # Endpoints (optional - defaults to single endpoint at /update) # Default accepted parameter names: # hostname (FQDN): hostname, host # ipv4 (IPv4 address): myip, ipv4, ip4 # ipv6 (IPv6 address): myip6, ipv6, ip6 # username: username, user # password: password, pass, token # notify_change: notify_change # # Multiple endpoints can be defined with custom parameter names # [[endpoints]] # path = "/update" # [endpoints.params] # hostname = ["hostname", "host"] # ipv4 = ["myip", "ipv4", "ip4"] # ipv6 = ["myip6", "ipv6", "ip6"] # username = ["username", "user"] # password = ["password", "pass", "token"] # notify_change = ["notify_change"] # [[endpoints]] # path = "/nic/update" # [endpoints.params] # hostname = ["hostname"] # ipv4 = ["myip"] # ipv6 = ["myip6"] # username = ["username"] # password = ["password"] # notify_change = []