Podman: automatyczny update quadlet贸w
08 stycznia 2024 blog podman miniflux
Jak automatycznie updatowa膰 kontenery na przyk艂adzie Miniflux.
Podman: automatyczny update quadlet贸w
08 stycznia 2024 blog podman miniflux
Jak automatycznie updatowa膰 kontenery na przyk艂adzie Miniflux.
Podman udost臋pnia serwis do automatycznego update'u kontener贸w. Je艣li mamy kontenery skonfigurowane przy u偶yciu quadlet贸w, wystarczy doda膰 do [Container]
wpis AutoUpdate=registry
, potem systemctl --user enable --now podman-auto-update.timer
i ju偶 ;)
Od jakiego艣 czasu do subskrybowania kana艂贸w Atom/RSS u偶ywam Miniflux. Miniflux wymaga 2 kontener贸w, jednego dla bazy, a drugiego dla siebie. W przyk艂adzie poni偶ej oba kontenery s膮 w jednym podzie.
Niestety w wersji 4.8.3 nie ma jeszcze wsparcia dla plik贸w .pod
(pull request). Dlatego poni偶sze pliki zawieraj膮 niezbyt eleganckie obej艣cie tego problemu. Polecam te偶 zamieni膰 wszystkie x
na jakie艣 inne warto艣ci.
~/.config/containers/systemd/miniflux-db.container
:
[Unit]
Description=miniflux-db container
[Container]
#Pod=systemd-miniflux
PodmanArgs="--pod=miniflux-pod"
Image=docker.io/postgres:15
AutoUpdate=registry
Volume=%h/.config/miniflux.podman/data:/var/lib/postgresql/data
Environment=POSTGRES_USER=x
Environment=POSTGRES_PASSWORD=x
[Service]
ExecStartPre=sh -c "mkdir -p $HOME/.config/miniflux.podman/data"
ExecStartPre=podman pod create -p 8083:8080 miniflux-pod
ExecStopPost=-podman pod rm miniflux-pod -f
~/.config/containers/systemd/miniflux-instance.container
:
[Unit]
Description=miniflux-instance container
Requires=miniflux-db.service
After=miniflux-db.service
[Container]
#Pod=systemd-miniflux
PodmanArgs="--pod=miniflux-pod"
Image=quay.io/miniflux/miniflux:2.0.51
AutoUpdate=registry
Environment="DATABASE_URL=postgres://miniflux:x@localhost/miniflux?sslmode=disable"
Environment="RUN_MIGRATIONS=1"
Environment="CREATE_ADMIN=1"
Environment="ADMIN_USERNAME=x"
Environment="ADMIN_PASSWORD=x"
Environment="BASE_URL=http://x"
[Install]
WantedBy=multi-user.target default.target
Pozostaje tylko uruchomienie minifluxa systemctl --user start miniflux-instance
i zalogowanie si臋. Aktywowany wcze艣niej podman-auto-update.timer
b臋dzie dba艂 o uaktualnienie i, w przypadku nowej wersji, zrestartowanie kontenera.
Przed uruchomieniem lub w przypadku problem贸w mo偶na obejrze膰 wygenerowane przez podmana unity systemd z naszych quadlet贸w: /usr/lib/systemd/system-generators/podman-system-generator --user --dryrun
.