Skip to content

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

  1. Take a backup.
  2. Pull and restart:

    docker compose pull
    docker compose up -d
    

    (With a local build instead of the registry image: docker compose up -d --build.)

  3. Check GET /api/health returns {"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.