Upgrade¶
Releases are container images pushed by CI to the GitLab registry as $CI_REGISTRY_IMAGE:latest and :<commit>. Upgrading is pulling the new image and restarting; the database schema is upgraded automatically on startup.
Steps¶
- Take a backup.
-
Pull and restart:
docker compose pull docker compose up -d(With a local build instead of the registry image:
docker compose up -d --build.) -
Check
GET /api/healthreturns{"ok": true}and that the page loads.
Startup regenerates the served pages, so the tracker and the standalone copy under /standalone/ always match the server code.
Schema upgrades¶
The database carries a version number. On startup the server upgrades an older database in one transaction: either it completes or nothing changes, and the server logs which happened.
Rolling back¶
Run the previous image and restore the backup you took in step 1. An older server can't read a newer schema, so the restore is required, not optional.
Pinning a version¶
Set SUFS_TRACKER_IMAGE to …/sufs-tracker:<commit> instead of :latest if you want upgrades to be deliberate.