autorestic/docs/pages/backend/index.md
Boris Bera 5ed1af31e0
feat(backend): add init option to backend config
When this option is set to `true`, the backend will automatically get
initialized during the backup process. This applies to invoking
`autorestic backup` or when `autorestic cron` actualy performs a backup.
2024-10-14 14:23:46 -04:00

1.9 KiB

💽 Backends

Backends are the outputs of the backup process. Each location needs at least one.

Note: names of backends MUST be lower case!

version: 2

backends:
  name-of-backend:
    type: local
    path: /data/my/backups

Types

We restic supports multiple types of backends. See the full list for details.

Avoid Generating Keys

By default, autorestic will generate a key for every backend if none is defined. This is done by updating your config file with the key.

In cases where you want to provide the key yourself, you can ensure that autorestic doesn't accidentally generate one for you by setting requireKey: true.

Example:

version: 2

backends:
  foo:
    type: local
    path: /data/my/backups
    # Alternatively, you can set the key through the `AUTORESTIC_FOO_RESTIC_PASSWORD` environment variable.
    key: ... your key here ...
    requireKey: true

With this setting, if a key is missing, autorestic will crash instead of generating a new key and updating your config file.

Automatic Backend Initialization

autorestic is able to automatically initialize backends for you. This is done by setting init: true in the config for a given backend. For example:

backend:
  foo:
    type: ...
    path: ...
    init: true

When you set init: true on a backend config, autorestic will automatically initialize the underlying restic repository that powers the backend if it's not already initialized. In practice, this means that the backend will be initialized the first time it is being backed up to.

This option is helpful in cases where you want to automate the configuration of autorestic. This means that instead of running autorestic exec init -b ... manually when you create a new backend, you can let autorestic initialize it for you.