Recommended upgrade flow
1
Back up first
Take a Postgres dump and a MinIO snapshot or mirror before touching the running stack. If something goes wrong, this is your recovery path.See Backups for the exact commands.
2
Pull the new images and rebuild
From the directory that contains your The API container applies any pending database updates on startup before accepting traffic.
docker-compose.yml:3
Check the logs
Confirm the API started cleanly and database updates completed:Look for database update completion messages and the usual “server listening” line. Check container health:
4
Verify the running version
The health endpoint reports the running version and git SHA:The response includes
version and git_sha when the image was built with those values injected (see Version metadata below).Rollback
If the new version has a critical problem, restore from the backup you took before upgrading.Breaking changes
DEPLOYMENT_MODE removed
The DEPLOYMENT_MODE environment variable no longer exists. The API always behaves as a single-organization self-hosted installation. Remove DEPLOYMENT_MODE from your .env file and any Compose overrides.
Multiple organizations no longer supported
Support for multiple organizations in one instance was tied to the removedsaas deployment mode. If your instance contains more than one organization (for example, after a legacy migration), the API will log a warning at startup and refuse to create additional organizations. Before upgrading, consolidate to a single organization per instance — export or archive extra organizations, or split them into separate deployments.
Version metadata
PassVERSION and GIT_SHA as Docker build arguments when building the API image so GET /health reports real values:
HYPERSPEED_VERSION and HYPERSPEED_GIT_SHA in .env and the build args will be forwarded automatically.
Optional update notices
The dashboard can display a non-intrusive banner when a newer version is available. This feature is opt-in: no network requests to GitHub or your manifest host are made until a user enables it in their dashboard settings. To enable the feature, set one of the following environment variables on the API:Manifest format
If you useUPDATE_MANIFEST_URL, the endpoint must return JSON in this shape:
version is required and must be a semver-compatible string. release_notes_url and upgrade_guide_url are optional and are shown as links in the banner.
The
dev build string never triggers an “update available” notice, even when a newer version exists in the manifest.