アップグレード
typress のアップグレードは 2 通り。CLI 経由の署名付き self-update か、手動でバイナリを差し替えるかです。サイト管理画面からのワンクリック更新は意図的に提供していません — それを開けると「admin session 奪取で更新差し替え」が成立してしまうので。
self-update (推奨)
typress admin self-update https://your-cdn.example/typress/latest.jsonマニフェストは {version, sha256, downloadUrl, signedBy, signature} の JSON で、TYPRESS_UPDATE_KEYS の鍵で署名されます。検証 → ダウンロード → SHA-256 検算 → atomic rename の順で進み、1 つでも失敗するとロールバックされます。
手動アップグレード
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
# ロールバック
sudo systemctl stop typress
sudo mv /opt/typress/typress.previous /opt/typress/typress
sudo systemctl start typressDB マイグレーション
起動時に自動で適用されます。マイグレーションは追記のみで、過去の row を破壊することはしません。万が一に備えて、アップグレード前に typress.sqlite を cp でバックアップしておくのが堅実です。
sudo cp /var/lib/typress/typress.sqlite \
/var/lib/typress/typress.sqlite.pre-$(date +%Y%m%d)ダウングレード
古いバイナリで新しい schema の DB を読むことは想定していません。ダウングレードする場合は事前バックアップから DB ごと巻き戻す必要があります。詳細な障害復旧の手順はCLIとトラブルにあります。