Files
ddns-service/files/config.example.toml

91 lines
3.1 KiB
TOML

[daemon]
# host = "localhost" # default, use reverse proxy for public access!
# 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
[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
[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 = []