The wrkr CLI
Backups & restore
Backups on Wrkr aren't a product you configure — they're built into the layers where your data actually lives. There are three, and it's worth knowing which one covers what.
1. Your machine — hourly, automatic, offsite
Your home directory is backed up every hour, encrypted, to offsite storage, with no setup from you. Your code, your shell history, your installed tooling, and any local databases under your home directory are covered.
If your machine is ever rebuilt, your home directory comes back. This is included in the plan and always on — there's nothing to enable.
Keep anything that must survive under your home directory. Data written outside
~(for example, a service storing files in a system path) may not ride the hourly backup. When in doubt, keep it under home.
2. Your app's database — on-demand snapshots
For your app's Postgres database, take point-in-time snapshots and restore them whenever you want — before a risky migration, or to roll back a bad change:
wrkr db snapshot [--note <text>] [--json]
wrkr db snapshot list [--json]
wrkr db snapshot rm <snapshot-id> [--json]
wrkr db restore <snapshot-id> [--yes] [--json]
wrkr db restore --file <path> [--yes] [--json]
wrkr db export <path> [--format plain|custom] [--json]
wrkr db snapshot --note "before the v2 schema change"
wrkr db restore <snapshot-id> --yes
You can also take a portable dump anytime with wrkr db export — a standard
pg_dump you can store anywhere or move off Wrkr entirely. Full guide:
Database.
3. Your app's files — durable object storage
Files your app puts in wrkr storage live in durable object storage
that survives a machine rebuild. They're not tied to your machine's disk, so
a rebuild of the box doesn't touch them.
What backups don't do for you
Backups protect your work and your app's data. They are not a feature your
app gives its own users. If your product needs to let its customers export
their own data ("download all my data"), that's a feature your app implements —
using the same primitives (wrkr db export, wrkr storage) — not something Wrkr
runs on your behalf.
Recovering
| You want to… | Do this |
|---|---|
| Undo a bad database change | wrkr db restore <snapshot-id> |
| Get a portable copy of your data | wrkr db export ./backup.dump --format custom |
| Recover your home directory after a rebuild | It's restored from the hourly offsite backup |
| Recover app files | They're durable in wrkr storage; nothing to restore |
Offsite snapshots are kept as 24 hourly, 14 daily, and 8 weekly restore points.
Restores are proven end-to-end: if a disk — or an entire host — is ever lost, your machine is rebuilt from the latest offsite snapshot, with your files, projects, and running setup back as they were. Today a restore is something we run for you, and we don't quote a fixed turnaround.