Skip to content

Moving to a new server

New hardware, a bigger NAS, or moving from a friend's server to your own: Budvo moves in the browser. You download one file from the old server and restore it while setting up the new one. Everyone keeps their account, passkeys, two-factor, households, add-ons and settings.

Nothing is decrypted on the way. The export is the encrypted database plus the keyring that protects its key, so it's useless without the old server's database password or recovery key.

1. Export the old server

On the old server, open Settings, This server and choose Download a full server export. Only the server owner sees this.

You get one .zip with:

  • budvo.db: a fresh, consistent copy of the database, still encrypted.
  • keyring.json: the keyring, which opens with the database password or the recovery key.
  • addons/: packages for add-ons installed from the marketplace.
  • manifest.json: the export format, the Budvo version and when it was made.

Keep the file private anyway, and delete copies you don't need once the move is done.

2. Start the new server

Install Budvo on the new machine with an empty data folder and open its dashboard. Enter the setup code from:

terminal
docker logs budvo

3. Restore

After the setup code, Budvo asks how you want to start. Choose Restore a server export.

  1. Upload the .zip. Budvo checks it before anything else: it must be a Budvo export, under the size limit (512 MB by default), with nothing unexpected inside.
  2. Enter the old server's database password or recovery key.
  3. Budvo checks that the database opens and is intact, brings it up to the new server's version, and installs it in one step.

If anything goes wrong, nothing is installed: the new server stays empty and ready to try again. Wrong passwords are rate limited, like unlocking.

Then sign in with your existing account. The database password and recovery key are the old server's (or the new password you just set), and the server unlocks with them after every restart.

Good to know

  • Versions. The new server must run the same Budvo version or a newer one. A newer export on an older server is refused: update the new server first.
  • The old server keeps running. Anything changed there after the export doesn't move. Turn it off once you've checked the new one.
  • Large exports behind a proxy. A reverse proxy or tunnel may cap uploads (Cloudflare's free plan stops at 100 MB per request). Restore over your local network, or raise the limit. To accept bigger files, set BUDVO_MAX_RESTORE_MB.
  • Backups work too. Instead of an export you can restore a backup: its .zip download from Settings, This server, or the .db and .keyring.json pair from the old data/backups folder (upload both). A backup opens with the password or recovery key that was current when it was taken.

Moving just one household

To bring only your household, not the whole server: on the old server open Settings, Your data and export it as JSON (with a passphrase if you like). On the new server, after the setup code choose Import a household export. You create the encryption password and your account as usual, then the export becomes your first household.