systemd และคอนเทนเนอร์
ใช้ systemd สำหรับ native host หรือ rootless container สำหรับ deployment ที่แยกออกจากกัน
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
container mount
| เมานต์ | Recommended mode |
|---|---|
| คอนฟิก | bind mount แบบอ่านอย่างเดียว. |
| เนื้อหา static | bind mount แบบอ่านอย่างเดียว. |
| รัฐแอคมี | ปริมาณการเขียนแบบถาวร |
| Disk cache | ใช้ persistent writable volume ที่มีขนาดเหมาะกับ cache policy โดยให้ storage-bin replica แต่ละตัวมี local หรือ RWO volume ของตนเอง ใช้ shared RWX storage เฉพาะเมื่อผ่านการตรวจสอบ cross-node locking และบังคับ single-writer ในระดับ orchestration แล้ว |
| ความลับ | Container secret or credentials directory, not a สาธารณะ file. |
ขั้นตอน 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 ตรวจสอบโปรเซสใหม่และรอให้การเชื่อมต่อเดิมเสร็จสิ้น คอนเทนเนอร์ต้องมีพร็อกซีด้านหน้า ตัวกระจายโหลด หรือระบบจัดการคอนเทนเนอร์ที่คงที่ เพราะไม่สามารถเปลี่ยนพอร์ตของโฮสต์ที่เปิดโดยตรงได้โดยไม่ทำให้การรับการเชื่อมต่อหยุดชั่วคราว
อ่านข้อกำหนดการอัปเกรดฉบับเต็มเช็กลิสต์โปรดักชัน
- ปักหมุดเวอร์ชันวางจำหน่ายหรือสรุปรูปภาพ
- เมานต์ config และ content แบบ read-only
- Keep ACME and cache state on persistent volumes.
- ตรวจสอบ config against the profile you plan to run.
- Keep การตรวจสุขภาพ and rollback commands ready before changing ทราฟฟิก.