mirror of
https://github.com/Brandon-Rozek/website.git
synced 2024-11-23 00:26:30 -05:00
32 lines
1.4 KiB
Markdown
32 lines
1.4 KiB
Markdown
---
|
|
title: "Automatically Updating Podman Containers"
|
|
date: 2022-05-15T22:20:47-04:00
|
|
draft: false
|
|
tags: ["Linux", "Containers"]
|
|
math: false
|
|
medium_enabled: true
|
|
---
|
|
|
|
Recently, I have been [transitioning to Podman](/blog/rootless-docker-compose-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](https://github.com/containrrr/watchtower/issues/1060) (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`.
|
|
|
|
```ini
|
|
[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
|
|
```
|
|
|