Systemd 與容器
原生主機使用 systemd,隔離部署使用 rootless container。
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 狀態 | 持久可寫 volume。 |
| Disk cache | 使用容量符合 cache policy 的持久 writable volume。每個 storage-bin replica 應配置自己的 local 或 RWO volume;只有在跨 node locking 已驗證,且 orchestration 層強制 single-writer 時,才使用共享 RWX storage。 |
| 金鑰 | 使用 container secret 或 credentials directory,不要使用公共檔案。 |
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 在驗證新程序並等待既有連線處理完成期間,仍能維持對外監聽通訊端可用。直接發布主機連接埠的容器無法在監聽不中斷的情況下替換,因此需要穩定的前端 Proxy、負載平衡器或容器協調平台。
閱讀完整的升級規範生產檢查清單
- 固定 release version 或 image digest。
- 以 read-only 掛載設定和內容。
- Keep ACME and cache state on persistent volumes.
- 按計劃執行的 profile 驗證設定。
- 變更流量前準備好 health checks 和 rollback commands。