Files
backup-tool/docs/runbooks/metadata.md
T

20 lines
966 B
Markdown

# Metadata backup and restore runbook
## Backup
1. Confirm `docker compose ps` shows exactly one scheduler and one worker.
2. For an online SQLite backup, run a host-side SQLite `.backup` against the mounted
`metadata.db`; do **not** copy only the main file while WAL writers run.
3. For a filesystem copy, stop `web`, `scheduler`, and `worker` first, then retain
`metadata.db`, `metadata.db-wal`, and `metadata.db-shm` together.
4. Encrypt and test the backup outside the appliance. Never place a database dump in
the repository or OCI image.
## Restore
1. Stop all runtime roles and preserve the failed metadata volume unchanged.
2. Restore the complete SQLite backup into the metadata volume with the service user
ownership (UID 10001 in the supplied Compose deployment).
3. Run `docker compose run --rm migrate current`; only start the stack when it reports
the expected revision. Validate `/readyz` and a read-only API request after startup.