Releases, updates, and channels
Choose stable releases or canary builds without losing rollback safety.
Channels
master is the release branch. A vX.Y.Z Git tag produces versioned release images; those are the only images recommended for a production control plane. The canary branch produces a rolling canary image for test environments.
Never promote a mutable latest or canary tag directly into a production stack. Resolve the release image to its digest and set UPSTAND_SERVER_IMAGE, UPSTAND_WEB_IMAGE, and UPSTAND_DOCS_IMAGE in /etc/upstand/.env. Set UPSTAND_VERSION to the matching release tag so the dashboard can report the installed version without guessing from a package file.
Safe update procedure
- Back up
/etc/upstand/.envand Postgres. - Read the release notes and verify the target image digests.
- Update the three image variables in
/etc/upstand/.env. - Run the installer again with the same origins. It validates the cluster and performs a Swarm rollout.
- Confirm
docker stack services upstandand/health/readybefore declaring success.
The in-dashboard update button is intended for published release images. Source-built installations should be updated by rerunning the GitHub source installer; they do not have a remotely pullable immutable release image to switch to.
Automatic updates
Automatic updates are opt-in. Add UPSTAND_AUTO_UPDATE=true to /etc/upstand/.env and rerun the installer. The server checks GitHub every 30 minutes, applies only a published release matching the installed channel, and uses Docker Swarm's rolling update and rollback policy. Source installations are never updated automatically. Leave the variable unset (or set it to false) when you want approval through the dashboard only.
Both Web Server → Check for updates and Settings → Check for Updates read the same status. They show the installed version, channel, release availability, and whether that installation can be updated. Clicking either button performs a force refresh against GitHub; it does not wait for the normal background status cache. Repositories without a formal GitHub Release are supported through their published semantic tags.
Rollback
Keep the previous image digests. Restore them in /etc/upstand/.env, rerun the installer, and verify readiness. Do not rotate the Docker secret files under /etc/upstand/secrets/ during a normal image rollback.