DEV Community

Brandon Rozek
Brandon Rozek

Posted on • Originally published at brandonrozek.com on

Automatically Updating Podman Containers

Recently, I have been transitioning to Podman for running my container infrastructure. In the process, I brought over Watchtower which I have previously used for auto-updating docker containers. Before doing so, I didn’t check its compatibility (whoops) and found a few of my containers would every other week or so not come back up.

I then remembered that I restart my server for general system updates almost every day. What if I perform the podman container updates on start up? After modiyfing my systemd service to include an extra field called ExecStartPre and removing Watchtower, I found no more missing containers! The field ExecStartPre performs a pull (update) before starting up the containers via ExecStart.

[Unit]
Description=Docker Compose Application Service
Requires=network.target podman.socket
After=network.target podman.socket

[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/home/brandonrozek
ExecStartPre=/usr/bin/docker-compose pull
ExecStart=/usr/bin/docker-compose up -d --force-recreate
ExecStop=/usr/bin/docker-compose down
TimeoutStartSec=0

[Install]
WantedBy=multi-user.target

Enter fullscreen mode Exit fullscreen mode

Top comments (0)