Restore a backup¶
Three flavours:
- Download exact — full database with original users, crons, mail servers, credentials. For forensic recovery.
- Download neutralized — same data, but crons turned off, mail servers archived, credentials scrubbed, and a red ribbon on top. Safe to load on a dev laptop.
- Restore in place — replaces the live database of an instance with the chosen backup. Used to roll back a bad update.
Pick the right mode¶
If you're moving data to development or staging, download neutralized. If you're rolling back production after a broken release, restore in place. If you need a forensic copy with original credentials and crons, download exact.
Download a backup¶
- Open the instance and go to Backups. You see a chronological list of backups available in your bucket.
- Pick a backup, click Download.
- Choose Exact or Neutralized.
- The job starts and shows a progress bar.
- When ready, click the download link. You get a standard ZIP
(
dump.sql + filestore/) — restorable on any Odoo of the same version.
Restore in place¶
- Open the instance and go to Backups.
- Pick the backup you want to restore.
- Click Restore.
- On production, you'll be asked to confirm twice. We want to be very sure.
- Wait for the restore to finish. The instance is briefly unavailable while the database is replaced. When the job ends in green, you're back online with the older data.
In-place restore is destructive
The current database is replaced by the backup. Anything created or modified after that backup's timestamp is lost. Take a fresh manual backup first if in doubt.
Restore from an external ZIP¶
You can also upload a ZIP from your laptop or push it via rsync to the host.
Upload (web)¶
Open the instance → Restore Database → drop or select the ZIP. Maximum 2 GB. Larger files time out — use rsync instead.
Push (rsync)¶
For dumps larger than 2 GB:
Then in the instance UI, Restore Database → From host file and pick the file.
Verify it worked¶
For downloads:
- The ZIP opens and contains
dump.sql+filestore/.
For in-place restore:
- The instance is back up.
- The data matches the backup's timestamp.
- The job log ends in green.
Troubleshooting¶
Restore failed: passphrase mismatch
The backup was encrypted with a different passphrase than the one currently
configured on the backend. Check Backend detail → Passphrase. If you've
rotated passphrases, you need the original to read older backups.
Restore failed: schema version mismatch
The backup was taken from a different Odoo version than the instance you're restoring to. Deploy a fresh instance with the matching Odoo version, then restore there.
I want to restore to a different instance, not the source
Deploy a new instance, configure its backup backend to point to the same bucket, and the backup list will include the source's backups. Pick the one you want and Restore.
See also¶
- Backups overview
- Migrate from Odoo.sh — uses the same restore flow.