typressAn editorial workshop.

設定

typress は環境変数で全設定を受け取ります。設定ファイルは持たず、systemd の EnvironmentFile= 経由で渡すのが推奨です。

必須の環境変数

TYPRESS_MASTER_KEY

TOTP シークレットの at-rest 暗号化に使う 32 バイト鍵 (base64url)。本番 (NODE_ENV=production) では未設定だと起動を拒否します。サイトごとに 1 度だけ生成し、データディレクトリの外に保管してください。

openssl rand 32 | base64 | tr '+/' '-_' | tr -d '='

この鍵を失うと既存ユーザーの TOTP は復号できなくなります(ユーザーは再登録すれば復活します)。バックアップに含めないこと。

TYPRESS_PUBLIC_ORIGIN

公開サイトの正規 origin。CSRF Origin チェック・Set-Cookie の domain・feed/sitemap の絶対 URL に使われます。https://your-domain の形式。

任意の環境変数

  • TYPRESS_PORT — リッスンポート、デフォルト 4321
  • TYPRESS_DATA_DIR — SQLite とメディアの保存先、デフォルト ./data
  • TYPRESS_ADMIN_ORIGIN — admin SPA の origin、未設定なら public と同じ
  • TYPRESS_MAX_UPLOAD_BYTES — メディアのサイズ上限、デフォルト 1 GiB、0 で無制限
  • TYPRESS_UPDATE_KEYS — self-update マニフェストの署名検証に使う公開鍵 (CSV)
  • NODE_ENV — production を入れると Cookie に Secure フラグ・HSTS 等が有効化

EnvironmentFile の例

# /etc/typress/typress.env  (root:typress 0640)
TYPRESS_DATA_DIR=/var/lib/typress
TYPRESS_PORT=4321
TYPRESS_PUBLIC_ORIGIN=https://your-site.example
TYPRESS_MASTER_KEY=<base64url-32-bytes>
NODE_ENV=production

システム unit からは EnvironmentFile=/etc/typress/typress.env で読み込みます。詳細はデプロイを参照。master key の役割と運用はセキュリティのセクションでも触れています。