Your data, backed up every night.
PostgreSQL and Redis run beside the services that use them. Every volume that holds data is backed up each night: encrypted, deduplicated, and kept on a ladder of days, weeks and months.
What it holds
| Named volumes | what gets backed up |
|---|---|
| PostgreSQL 16 | the database |
| Redis 7 | cache and queues |
| Backrest + restic | the nightly plan |
| Repository | encrypted, deduplicated |
| restic on the host | opens it without Backrest |
What it promises
Every volume, every night
Each named volume that holds data is snapshotted at night: encrypted, deduplicated, incremental. Caches and logs are left out on purpose.
Kept on a ladder
14 daily, 8 weekly and 12 monthly snapshots. Older ones are pruned every Sunday.
Checked every week
A weekly check reads part of the stored data back, so a damaged repository is found before the day it is needed.
Restores land beside, not on top
A restore goes to a volume next to the live one. Nothing is overwritten until you swap it in.
What people ask
Can we restore one volume without touching the others?
Yes. Each volume is its own path in the snapshot. It comes back beside the live volume and is swapped in when you are ready.
What if the backup service is the thing that broke?
The repository does not depend on it. restic on the host opens it directly, with the passphrase.
How much disk does the backup take?
Less than the data itself. Compressed and deduplicated, the repository has run at roughly a quarter of the raw size in practice. It grows with how much data changes, not with how many snapshots are kept.