typress
An editorial workshop.日本語

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.

typress admin self-update https://your-cdn.example/typress/latest.json

The 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 typress

DB 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.