##
# Core configuration.
##
# address and port to bind the API to
# NOTE: if tailscale is enabled, the address will be ignored.
address = "0.0.0.0"
port = 8443
# Secret key to use for authentication token signing and verification.
secret = ""
# HTTPS certificate PEM file (if it does not exist, it will be automatically generated).
certificate = "~/arc-certificate.pem"
# HTTPS private key PEM file (if it does not exist, it will be automatically generated).
key = "~/arc-key.pem"
#  API access username.
username = "arc"
# API access password `bcrypt` hash.
password = "$2a$10$RuOcSEwPNNFlA/lxjpRY3.3J0tR0LG/FyfG/IXolgdDxPh7.urgGe"
# Database root directory.
database = "~/db"
# Validity in minutes of a JWT API token after it's being generated.
token_duration = 60
# If true, records bigger than 1024 bytes will be asynchronously gzipped and served as compressed streams to the client.
compression = true

# Tailscale specific configuration.
[tailscale]
# If true, will run this as a tailscale server node and won't be visible outside the tailscale network.
# In order to authenticate the node, set the TS_AUTHKEY environment variable or follow the onscreen instructions.
enabled = false
# Tailscale hostname, if left empty the system hostname will be used.
# NOTE: Make sure that HTTPS certificates are enabled for this tailscale host and that the hostname
# matches the certificate.
hostname = "stevie"
# If set, it overrides the Tailscale control URL, can be used for Headscale and alikes.
url = ''

# Periodic tasks.
[scheduler]
# Scheduler is enabled by default.
enabled = true
# Period in seconds of the scheduler.
period = 10

# Report system events.
[scheduler.reports]
enabled = false
rate_limit = 60
filter = ["login_ok", "login_ko", "token_ko", "update", "record_expired"]
to = "youremail@gmail.com"

# If reports are enabled, this SMTP configuration is required for email notifications.
[scheduler.reports.smtp]
address = "smtp.gmail.com"
port = 587
username = "youremail@gmail.com"
password = "your smtp password"

# Email notifications can be optionally encrypted with PGP.
[scheduler.reports.pgp]
enabled = true

# PGP Keys.
[scheduler.reports.pgp.keys]
# The ARC server PGP private key.
private = "~/server.private.key.asc"
# The emails recipient PGP public key.
public = "~/my.public.key.asc"

# Backup configuration.
[backups]
enabled = false
# Every 1800 run the command on that folder.
period = 1800
run = "scp arc-backup.tar user@backup-server:/media/arc_backup/"
folder = "/some/backup/path/"
