ansible: nightly restic backups to both object storage regions
Hetzner's server backups cost 20% of each server's price and only restore whole disks. Back up what matters with restic instead, into the backup buckets we already pay for: one repository per host in hel1 (asxpio-backups-main) and one in fsn1 (asxpio-backups-repl), written independently so either region alone is a full copy. Postgres goes in as a dump, Forgejo's and vhpbot's SQLite databases through the online backup API, Garage with a fresh metadata snapshot, ejabberd through its own backup command. Keeps 7 daily, 4 weekly and 6 monthly snapshots, prunes on Sundays, and mails the journal when a run fails. restic is the pinned upstream release, so its version is tracked in the repo like everything else. The vault gains the restic password and the Xray config for the role that follows. Assisted-by: Claude:opus-5-5
This commit is contained in:
parent
0edfda123a
commit
59b5b4468a
13 changed files with 450 additions and 105 deletions
|
|
@ -36,6 +36,12 @@
|
|||
roles:
|
||||
- { role: forgejo, tags: [forgejo] }
|
||||
|
||||
- name: Backups
|
||||
hosts: asxpio
|
||||
become: true
|
||||
roles:
|
||||
- { role: restic_backup, tags: [restic] }
|
||||
|
||||
# Last: when the pipeline changes the runner it recreates the container
|
||||
# that is running the pipeline. Everything else is done by then; that job
|
||||
# ends as failed and the next run confirms the result.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue