Docker
Run snapr in a container instead of installing the binary on the host.
Docker
snapr looks for snapr.yaml in /etc/snapr/ by default inside the container.
Docker Compose
The repo ships a dev stack with MinIO (S3), Postgres, SFTP, and WebDAV containers — useful for trying every storage backend locally. The stack only starts the storage targets; snapr itself runs from source via pnpm run dev (see examples/dev/README.md).
The dev config binds the API on :47100 with admin / admin — for local testing only; never reuse these in production.
A minimal compose for production looks like this:
Volumes & paths
Inside the container snapr runs as user snapr (uid 1001). Mount:
- the config file read-only at
/etc/snapr/snapr.yaml - any source path you want to back up — read-only is fine
- any local storage path — must be writable by uid
1001. If the host directory is owned by another user, eitherchown 1001it or run the container with a matching--user.
Environment variables
Use them with env: references in snapr.yaml:
See Configuration → Overview for the full env-ref behaviour.