Quick backup from the app
Go to Settings → Data management → Export and download the ZIP archive. This is a CSV export — it’s human-readable and can be imported back into plamotrack. For a complete database backup that preserves sessions, access tokens, and MCP client links, use thepg_dump method below.
A script can fetch the same archive with a personal access token; read-only is enough:
Database backup with pg_dump
Run the following command from your plamotrack directory. The dump file is a portable Postgres archive.POSTGRES_USER and POSTGRES_DB values in your .env rather than assuming the defaults. The restore below does the same.
A backup is two things: the dump file and your
.env. Keep them together. The .env holds the secrets (your database password and, in OIDC mode, MCP_OAUTH_SIGNING_KEY) that make the backup fully restorable.Restoring a dump
Restore into an empty database —pg_restore will not merge cleanly into a populated one.
1
Tear down the current stack (removes the database volume)
2
Start the database and wait for it to be ready
--wait returns only once the real server is listening, so the restore cannot land while the image is still running its first-start setup.3
Restore the dump
4
Start everything back up
What survives a restore
What comes back depends on which half of the backup you restore and which.env you pair it with.
Sessions and tokens survive a changed
.env because they are stored as digests, not signatures; only the OAuth state is encrypted under MCP_OAUTH_SIGNING_KEY. Restoring without the original .env at all — a fresh one with a new database password — still works: the password only matters when the volume is first created, which the restore does, and the second row then applies.