Skip to main content
Upgrading Hyperspeed is an operator-driven process. Database schema updates run automatically when the API starts, so there is no separate migration step.
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 docker-compose.yml:
The API container applies any pending database updates on startup before accepting traffic.
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.
Avoid partial rollbacks — for example, rolling back only the API container while the database has already been updated. Schema changes may not be backward compatible. Restore the full backup (database + object storage) to a known-good state.

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 removed saas 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

Pass VERSION and GIT_SHA as Docker build arguments when building the API image so GET /health reports real values:
With the default Compose file, you can also set 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 use UPDATE_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.