Upgrading
Two upgrade paths: signed self-update via the CLI, or manual binary swap. There is intentionally no one-click update from the admin UI — surfacing it would mean a stolen admin session could swap the binary.
self-update (recommended)
typress admin self-update https://your-cdn.example/typress/latest.jsonThe manifest is JSON of the shape {version, sha256, downloadUrl, signedBy, signature}, signed by a key listed in TYPRESS_UPDATE_KEYS. The flow is verify → download → recompute SHA-256 → atomic rename; any failure rolls back.
Manual upgrade
sudo systemctl stop typress
sudo mv /opt/typress/typress /opt/typress/typress.previous
sudo cp /path/to/new-typress /opt/typress/typress
sudo chmod 0755 /opt/typress/typress
sudo systemctl start typress
# Rollback
sudo systemctl stop typress
sudo mv /opt/typress/typress.previous /opt/typress/typress
sudo systemctl start typressDB migrations
Applied automatically at boot. Migrations are append-only — they never destroy past rows. Backing up typress.sqlite via cp before an upgrade is a sensible habit.
sudo cp /var/lib/typress/typress.sqlite \
/var/lib/typress/typress.sqlite.pre-$(date +%Y%m%d)Downgrade
Reading a newer-schema DB with an older binary is not supported. To downgrade, restore both the binary and the DB from a pre-upgrade backup. Recovery procedures are detailed in CLI and Troubleshooting.