58 lines
1.3 KiB
YAML
58 lines
1.3 KiB
YAML
defaults:
|
|
retention:
|
|
keep_latest: 10
|
|
keep_hourly: 24
|
|
keep_daily: 30
|
|
keep_weekly: 8
|
|
keep_monthly: 12
|
|
keep_yearly: 3
|
|
|
|
common:
|
|
sftp_strategy: &sftp_strategy
|
|
type: "kopia"
|
|
provider: "sftp"
|
|
destination:
|
|
username: "user"
|
|
host: "example.com"
|
|
path: "/backup/path/"
|
|
ssh_key: "/home/user/.ssh/backup_key" # /!\ Key should not have passphrase
|
|
|
|
services:
|
|
service_name:
|
|
source:
|
|
host: "local"
|
|
path: "/path/to/service"
|
|
hooks:
|
|
before_hook: "docker compose down"
|
|
after_hook: "docker compose up -d"
|
|
backup_configs:
|
|
1:
|
|
backup_strategy:
|
|
type: "kopia"
|
|
provider: "local"
|
|
destination:
|
|
path: "/local/backup/path"
|
|
2:
|
|
backup_strategy:
|
|
type: "kopia"
|
|
provider: "b2"
|
|
# Credentials are in .env
|
|
3:
|
|
backup_strategy:
|
|
<<: *sftp_strategy # This uses the common sftp strategy defined above
|
|
|
|
# Example of another service
|
|
another_service:
|
|
source:
|
|
host: "local"
|
|
path: "/path/to/another/service"
|
|
hooks:
|
|
before_hook: "systemctl stop service-name"
|
|
after_hook: "systemctl start service-name"
|
|
backup_configs:
|
|
1:
|
|
backup_strategy:
|
|
type: "kopia"
|
|
provider: "local"
|
|
destination:
|
|
path: "/local/backup/path" |