Files
cloud-backup/defaults/main.yml
T
lhahnandClaude Opus 5.5 c0155e3396 Backup server: incremental mirror, client subset, configurable compression
- local_backup rsynced every repository into an empty folder each night (full transfer); keep a persistent mirror (backup_server_mirror) and rsync --delete into it
- backup_server_clients: clients handled by the server (app names must be unique, e.g. two 'webserver' apps collided)
- backup_server_local_skip: apps that are pruned remotely but not mirrored
- backup_server_compression: borg repos are encrypted already, allow 'none'

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 20:44:47 +02:00

54 lines
1.5 KiB
YAML
Executable File

---
cloud_apps: /opt
cloud_storage: /opt/storage
cloud_stage: prod
cloud_update: false
backup_owner: backup
backup_group: "{{ backup_owner }}"
backup_owner_ssh_private_key: "ssh-rsa THEREISNOSUCHRSAKEYYET"
backup_owner_ssh_public_key: "ssh-rsa THEREISNOSUCHRSAKEYYET"
backup_location: "/borg"
backup_root: "{{ cloud_storage }}/backup"
backup_run_folder: "{{ cloud_storage }}"
backup_storage_key: "MyStorageKey"
backup_client: true
backup_app: app
backup_cron_specialtime: "daily"
backup_cron_owner: "{{ backup_owner }}"
backup_server_remote_prune_time: 6
backup_server_remote_backup_time: 8
backup_server_local_prune_time: 10
#server: clients to prune/mirror (defaults to backup_clients), apps not mirrored locally, local compression
backup_server_clients: "{{ backup_clients }}"
backup_server_local_skip: []
backup_server_compression: lzma
#local mirror of the remote repositories (defaults to <backup_root>/storage/remote-backups)
#backup_server_mirror: /mnt/nas/backup/mirror
backup_script:
prework_backup: |
echo "This is executed before borg backup. Please collect data for backup in path: {{ backup_storage }}"
postwork_restore: |
echo "This is executed after borg restore. Please collect data during restore from path: {{ backup_storage }}"
backup_ssh_port: 22
backup_host: my-borg-repo.tld
backup_clients: []
# app1:
# owner: user1
# app: app1
# borgkey: BorgRepoKey1
# sshpubkey: SshPubKey1
# sshprivkey: SshPrivKey1
# app2:
# owner: user2
# app: app2
# borgkey: BorgRepoKey2
# sshpubkey: SshPubKey2
# sshprivkey: SshPrivKey2