35.9k stars · BSD-2-Clause · v0.19.1 (2026-07-05) · Track this in Scout
Encrypted, deduplicated, versioned backups to SFTP or S3-compatible storage from one static binary.
▶Repo detailsthe review · specs · pros & cons
What it is
A backup program producing encrypted, deduplicated, versioned snapshots to local disk, SFTP, S3-compatible object storage and more. One static binary, one command to back up, one to restore, one to verify.
What it is good for. A single VPS ends up holding applications, their PostgreSQL databases and — after this radar's advice — a growing stack of containers. Provider snapshots are a convenience, not a backup: they live in the same account, and an account problem, a bad migration or a DROP TABLE at the wrong moment takes them with everything else. Deduplication is what makes this practical rather than theoretical — a nightly pg_dump of a database that barely changed costs almost nothing to store, so months of daily snapshots sit on cheap object storage for the price of a coffee. Every other entry on this page increases what is lost if the disk fails, which is precisely why this one is here.
- Encrypted client-side by default, so the storage provider never sees your users' conversations — which also happens to be a claim you can make on the pricing page.
- Deduplicated and incremental: months of nightly database dumps cost a fraction of what naive copies would.
restic checkverifies a repository is actually restorable. An unverified backup is a rumour.
- Restoring is not a button. You will be reading documentation under stress unless you rehearse it once, calmly, in advance — and if you do not rehearse it, treat this as unfinished.
- Backing up a live PostgreSQL data directory produces a corrupt snapshot. Back up
pg_dumpoutput, or usepg_basebackup— this is the classic mistake and it fails silently. - Lose the repository password and the data is gone. Genuinely gone. Store it somewhere that is not the machine being backed up.
