observeur.nl, handcrafted content by Jochem Kossen

A few examples of and notes about Podman quadlets

Enable automatic updates

systemctl --user enable podman-auto-update.service
systemctl --user enable podman-auto-update.timer

rproxy.container

Put this file, and the other quadlets (rproxy-data.volume, podman-ipv6.network, …), in .config/containers/systemd/ within the home dir of the user which runs the container.

This will create the rproxy systemd service automatically. If not, test your configuration with:

/usr/libexec/podman/quadlet --dryrun --user

Enable the service with:

systemctl --user enable rproxy

contents of rproxy.container

[Container]
Image=docker.io/caddy:latest
PublishPort=[::]:10080:80
PublishPort=[::]:10443:443
Volume=/containers/rproxy/Caddyfile:/etc/caddy/Caddyfile
Volume=/containers/rproxy/security-headers.conf:/etc/caddy/security-headers.conf
Volume=rproxy-data.volume:/data
Network=podman-ipv6.network
AutoUpdate=registry

[Install]
WantedBy=default.target

rproxy-data.volume

[Volume]

podman-ipv6.network

[Network]
Driver=bridge
IPv6=true
Subnet=10.85.1.0/24
Gateway=10.85.1.1
Subnet=fd41:22a1:adca:2142::/64
Gateway=fd41:22a1:adca:2142::1
IPAMDriver=host-local
DisableDNS=true

Permalink: https://observeur.nl/quadlets/