Quadlet化した
keaにどハマりした件もそうだが、結局のところ、podman composeを使うのが悪いという結論に至り、自宅鯖はQuadlet化してsystemdで管理するようにした。この方が、systemd sliceとの親和性も高くて、リソース管理も楽。
例えばこのウェブページは、以下のように定義されている。
[Unit]
Description=WordPress site for rio.st (Quadlet, canonical replacement for wordpress-rio-st-compose.service)
Documentation=man:systemd.target(5)
Documentation=man:podman-systemd.unit(5)
Wants=network-online.target
Wants=lan-addresses-ready.service
After=network-online.target
After=lan-addresses-ready.service
Wants=wp-rio-st-db.service
After=wp-rio-st-db.service
Wants=wp-rio-st-redis.service
After=wp-rio-st-redis.service
Wants=wp-rio-st.service
After=wp-rio-st.service
Wants=wp-rio-st-nginx.service
After=wp-rio-st-nginx.service
[Install]
WantedBy=multi-user.targetNginx、WordPress、MariaDB、Redisに依存していて、それぞれの実態はPodmanのコンテナ。
network-onlineは当然なのだけど、lan-addresses-readyは1枚のNICに、IPv4アドレス2つとv6アドレス1つを付けてて、これが同時に上がってこないためにこうしてある(keaの対策で入れたやつ)。
ということで、RHEL10なら素直にQuadletを使おう。
なお、1件だけQuadletの不具合というか、「たぶんエラーになるから、それは指摘してくれても良いんじゃないの?」というPRをしておいた。
