Migrating between infrastructures
Every Keanan workspace can be packed into a single archive and restored anywhere the stack runs. This is the mechanism behind provider moves, backups and the promise that clients can leave whenever they like.
Export with one click
Section titled “Export with one click”In the admin dashboard, open Settings, choose the Workspace tab and select Download export. The browser saves the complete archive, and the download is recorded in the audit trail. Only admin accounts can export.
Export from the command line
Section titled “Export from the command line”The same archive is available on the server, which suits scheduled backups:
python manage.py export_tenant --output keanan_export.tar.gzThe archive contains data.json with every workspace record and a media
directory with every uploaded file: receipts, slides, invoices and photos.
Password hashes travel with the export, so people keep their logins.
Import
Section titled “Import”On the target deployment, run migrations first, then import:
python manage.py migratepython manage.py import_tenant /path/to/keanan_export.tar.gzExisting rows with matching identifiers are overwritten, which makes the command safe to re run.
A complete provider move
Section titled “A complete provider move”- Stand up the stack on the new infrastructure using the self hosting guide.
- Export on the old deployment and copy the archive across.
- Import on the new deployment.
- Point DNS at the new machine. Caddy issues a fresh certificate.
The whole exercise fits in an afternoon. Employees notice nothing except possibly a faster server.
What does not travel
Section titled “What does not travel”Sessions and refresh tokens are excluded deliberately, so everyone signs in again after a move. Feature flag definitions live in Unleash and are recreated in its console, which usually means five flags and two minutes.