Skip to main content
snapr is configured by a single YAML file.

File location

snapr resolves the config file in this order. The first match wins:
  1. -config <path> CLI flag
  2. SNAPR_CONFIG_FILE environment variable
  3. ./snapr.yaml
  4. ~/.config/snapr/snapr.yaml
  5. ~/snapr.yaml
  6. /etc/snapr/snapr.yaml

Top-level shape

snapr.yaml

Environment references

Any string value can use the env: prefix to read its value from an environment variable at load time. Use this to keep secrets out of the YAML file.
snapr.yaml
If the referenced variable is not set, snapr fails to start.

Applying changes

snapr loads the config once at startup. To apply edits, restart snapr. The previous configuration stays active until the new process loads successfully — a malformed file fails the restart with the error logged.

Where to go next

Server

HTTP listener, auth, permissions, and the web UI.

Jobs

Schedules, compression, retention, and hook scripts.

Sources

What to back up: databases, files, and object storage.

Storages

Where archives go: local disk, S3, SFTP, WebDAV, and bunny.net.

Encryption

Symmetric encryption of finished archives.

Splitter

Split large archives into fixed-size parts.

Notifiers

Webhook, Telegram, and email notifications.

Logs

File logging and rotation.

Full example

A complete annotated snapr.yaml.