Upgrades & support
Premora upgrades use the same artifact model as installation: signed, versioned bundles
applied with the premora CLI. Premora runs as a single-box omnibus (Docker Compose); an
upgrade loads the new image and recreates the services in place. The flow is identical across
connected and air-gapped delivery.
Upgrading Core
premora update --channel stable
Air-gapped:
premora core upgrade --offline-media /mnt/usb/premora-offline
An upgrade:
- pulls (or loads, when air-gapped) the new signed bundle,
- takes an automatic, integrity-verified backup (every service database + the MinIO raw
archive + the current compose/
.env) so you can roll back, then - loads the new image and recreates the services (
docker compose up -d), applying database migrations as the stack comes up.
Review the release notes before applying. Verify afterward:
premora backup list # confirm a pre-upgrade backup was captured
docker compose ps # (from the install dir) all services healthy
Backups
Migrations are forward-only (the same model as Bitbucket/Jira/Confluence), so the way back from a bad upgrade is restore a backup. Upgrades back up automatically, and you should also take periodic backups so you can recover from problems discovered later — a backup is the recovery point:
premora backup create # on-demand backup (schedule via cron for regular points)
premora backup list # what's available
premora backup verify # confirm the newest backup is intact and restorable
Rolling back a bad upgrade
premora restore # return to the newest backup
premora restore --to <backup-id> # or a specific one
Restore reloads the backed-up image, restores the databases and the MinIO archive, and brings the stack back up. It returns the box to the backup point, so writes made since that backup are lost — exactly like restoring an Atlassian Data Center backup. Catching a bad upgrade quickly (when the pre-upgrade backup is still current) keeps that loss at zero; periodic backups shrink it for issues found later. To de-risk a major upgrade, restore the latest backup onto a spare/staging box and upgrade that first.
Not supported: a second always-on "standby" server. A blue/green pair of live instances is a deliberate non-goal for the single-box product — it would double stateful storage (Postgres + the potentially very large MinIO archive) and requires control of a reverse proxy Premora does not own. Backup + restore delivers the fall-back outcome, the same way Atlassian Data Center does.
Upgrading Inference
Inference upgrades separately, with the same model:
premora inference upgrade
Support bundles
When you need help, collect a support bundle — logs, Helm/pod status, and version info — into a single archive for escalation:
premora support collect
Backups & continuity
Because one deployment serves a single enterprise and runs inside your perimeter, back up the backing services you provisioned in requirements — Postgres, object storage, and the search/vector indexes — per your own continuity policy. The core browse-and-search path is designed to keep working through upstream connector failures (degraded mode), so a single source being unavailable does not take down knowledge access.
Verifying a bundle before applying
You can validate a bundle on the host without starting it:
tar -xzf premora-install-<version>-linux-<arch>.tar.gz
cd premora-install-<version>-linux-<arch>
./preflight.sh # confirm Docker + Compose v2 are present
docker compose config >/dev/null # confirm the compose file parses