Fluxheim/ドキュメント/systemdとコンテナ

systemdとコンテナ

ネイティブホストにはsystemd、隔離デプロイにはrootlessコンテナを使います。

Rootless Podman実行

podman run --name fluxheim --replace \
  -p 8080:8080 \
  -v ./fluxheim.toml:/etc/fluxheim/fluxheim.toml:ro \
  -v ./site:/srv/site:ro \
  -v fluxheim-cache:/var/cache/fluxheim \
  ghcr.io/valkyoth/fluxheim:v1.8.0

コンテナマウント

マウントRecommended mode
設定読み取り専用bind mount。
静的コンテンツ読み取り専用bind mount。
ACME状態の保存先永続的な書き込み可能ボリューム。
Disk cachecache policy に見合う容量の永続 writable volume を用意してください。storage-bin の各 replica には専用の local volume または RWO volume を割り当て、共有 RWX storage は node 間 locking が検証済みで orchestration 側でも single-writer が強制される場合に限って使用します。
シークレット公開ファイルではなく、コンテナシークレットまたは認証情報ディレクトリ。

systemdの流れ

fluxheim --config /etc/fluxheim/fluxheim.toml --check-config
sudo systemctl restart fluxheim
sudo systemctl status fluxheim
journalctl -u fluxheim -n 100 --no-pager

無停止アップグレード

systemd ソケットアクティベーションを使うと、Fluxheim が新しいプロセスを検証し、処理中の接続が完了するのを待つ間も、公開待受ソケットを利用できます。ホストポートを直接公開したコンテナは待受停止を挟まずに置き換えられないため、安定したフロントプロキシ、ロードバランサー、またはオーケストレーターが必要です。

アップグレード仕様の全文を読む

本番チェックリスト

  • リリースバージョンまたはイメージダイジェストを固定します。
  • 設定とコンテンツは読み取り専用でマウントします。
  • Keep ACME and cache state on persistent volumes.
  • 実行予定のプロファイルに対して設定を検証します。
  • トラフィックを変更する前にヘルスチェックとロールバックコマンドを用意します。
日本語