Backup & Restore
Back up Docklift's control database, source projects, configurations, certificates, and secrets. Docker named-volume contents (including managed database data files) and external databases require their own backups.
What's included
| Included | Contents |
|---|---|
| Database | Projects, users, settings, environment variables, storage definitions |
| Project files | Sources under deployments/ |
| Nginx configs | Custom domain vhosts |
| Certificates | Let's Encrypt material managed with nginx-proxy |
| GitHub App key | github-app.pem when configured |
| Secrets | Control-plane secrets needed to restore the panel |
Not a full substitute for pg_dump / volume snapshots of app databases.
Create a backup
- Go to Settings → Backup
- Click Create Backup
- Wait for the progress stream to finish
- Download the
.zipto your local machine (or off-server storage)
Backups also land on the server under /opt/docklift/data/backups/ (path may appear as /data/backups/ inside the backend container).
Restore (existing install)
WARNING
Restoring replaces all current control-plane data. Running app containers may be stopped. Take a fresh backup of the current state first if you might need it.
- Go to Settings → Restore
- Upload a backup
.zipor pick a previously uploaded file - Confirm with your account password (step-up auth)
- Wait for the restore stream (API is locked while maintenance runs)
- Backend restarts; projects are reconciled automatically when possible
Restore on a fresh installation
Useful for migrating to a new VPS before creating users:
- Install Docklift on the new server (note the Setup code)
- Open
http://SERVER_IP:8080 - Enter the Setup code, then choose Restore from Backup
- Upload your backup file (setup token authorizes this once — no admin password yet)
- Setup code is consumed only after a full successful restore (admin present + reconcile OK)
- If restore fails or is incomplete, the DB rolls back and the setup code stays valid for retry
- If DB rollback itself fails, Docklift seals recovery with
data/.restore-critical— do not keep retrying until repaired and cleared by an admin
Best practices
- Create backups before major upgrades or risky changes
- Download and store backups off-server
- Test restore on a staging server before production migration
- Delete old on-server backups to free disk
- Separately back up managed database volumes / external DBs
Related commands
bash
curl -fsSL https://raw.githubusercontent.com/SSujitX/docklift/master/upgrade.sh | sudo bashUpgrade takes its own snapshot path; UI backups remain the portable archive for server migration.