Skip to content
Back to blog
pocketbasefeaturesmigrationcli

Bring your PocketBase with you: restore a backup into a new instance

September 3, 2026·Tom
Bring your PocketBase with you: restore a backup into a new instance

Bring your PocketBase with you: restore a backup into a new instance

Moving a PocketBase instance used to be a two-step dance: create the empty instance, then open its admin panel and restore the backup by hand. The creation step now takes the backup directly — the new instance arrives with your data already in it.

pbc pocketbase create restored-db --backup backup.zip
Admin login: preserved from backup; credentials are not available to PocketBase Cloud.

Schema, records, uploaded files, and superusers arrive as they were. Log in with the same superuser email and password the backup was taken with — PocketBase Cloud never sees those credentials, which is why there is nothing to print.

Where the backup comes from

Any standard PocketBase backup: Settings → Backups in an instance’s admin panel, or from the terminal:

pbc admin settings backup create
pbc admin settings backup download <key> --out backup.zip

Self-hosted instances qualify too — a backup is a backup. That makes this the migration path in both directions: self-hosted to cloud, cloud to cloud, or a staging clone of production before a risky change.

Two things worth knowing

The 150 MB ceiling. The backup uploads through a presigned URL capped at 150 MB. Most instances fit comfortably — backups compress well — but if yours doesn’t, trim uploaded files first.

--backup and admin flags don’t mix. A fresh instance gets a generated superuser, overridable with --admin-email / --admin-password. A restored one keeps the backup’s superusers instead, so combining the two is refused outright rather than silently ignored.

Same thing in the portal

The create form’s Admin Credentials & Mode section has a Restore Backup tab: drop the ZIP, watch the instance name suggest itself from the file name, and create. Everything else — region, compute, runtime flags — works exactly as on a fresh instance.

Full flags in Deploying PocketBase, day-to-day operations in Managing Your Instance.