Backups, recovery and updates
Protect the installation, distinguish portable exports from backups and apply releases deliberately.
Choose the right protection
| Option | Purpose | Important boundary |
|---|---|---|
| Campaign export/import | Transfer portable content | May omit private history and adjust ownership |
| Campaign snapshot | Campaign recovery point | Not the entire host or module installation state |
| Full installation backup | Recover data, private media and configuration together | Requires a consistent database/file set |
| Universal VTT export | Exchange a map scene | Omits most game and automation state |
Availability depends on permissions and host options. Before restoring campaign content, preserve the current state and read the consequences shown by the interface.
Make a full backup
Arrange a maintenance window and stop writes, including ASGI/Runner and maintenance processes.
Copy the configured SQLite database with associated journal/WAL files when present, private media and installed package files, optional compendiums and required configuration/trust keys.
Preserve .env privately and record the matching code version and lock file. Include recovery/updates state when preserving an installation for rollback.
Restore into a separate writable folder first, with paths pointing to the copy.
Verify login, a campaign, representative uploads and required modules before directing players there.
The default database is data/gravewright.sqlite3, not a root db.sqlite3. A database without its matching media is incomplete. Never publish backups or secrets with site/application source.
Apply an update
The owner can open the library notification bell and choose View update, or go to Administration → Updates. Review installed/available versions and release notes, create a backup, then choose the install action when ready. Keep the Runner open while download, verification, dependency preparation, backup, migration and restart complete. Table connections are interrupted during the change; the page reloads after the expected version is confirmed.
The bell is informational; it does not automatically authorize an installation. Installed release notes remain available offline. Direct ASGI deployments require their operator's update procedure rather than assuming the local Runner workflow applies.
Manual replacement and recovery
Stop the Runner, preserve .env, configured data/media, local extensions and recovery state, replace application files with the verified full release and rerun the platform installer. Updates to a reissued ZIP with the same version need manual installation because the updater compares versions.
If recovery fails, keep transaction and backup directories and inspect diagnostics. Do not delete them or restore old code over a newer migrated database. Restore matching code, database and media together.
Pending Blueprint Delay/Timer jobs are excluded from exports, snapshots and copies but included in a full database backup. A restored database may resume expired work at startup. When inspecting a recovery copy, the operator can disable its automation worker until they intentionally resume it.