Operations
Day-to-day management of your containers: updates, backups, and maintenance.
Updating Containers
The default ghcr.io registry images are versioned using tags.
:latest- Builds daily from the upstream project's latest stable release.:pkg- Builds from FreeBSD quarterly packages.:pkg-latest- Builds from FreeBSD latest packages.
Podman CLI
- Pull new image:
- Stop and remove old container:
- Start new container:
Run your original
podman runcommand again. Since/configis a volume, your data persists.
Podman Compose
- Pull new images:
- Recreate containers: This automatically stops the old container and creates a new one only if the image has changed.
Automated Updates
Podman has a built-in auto-update system.
- Start your container with the
--label "io.containers.autoupdate=registry"flag. - Create a systemd user unit (or standard service) for the container.
- Run
podman auto-updateperiodically (e.g., via cron or timer).
Note
This requires running the container as a systemd service, which is advanced usage. The manual pull && restart method is universally supported.
Backups
Backing up your data is critical. All daemonless containers store persistent data in the volume mounted to /config.
Backup Strategy
- Stop the container: Ensure database integrity (Radarr, Sonarr, etc. use SQLite).
- Archive the config directory:
- Restart the container:
ZFS Snapshots
If your data is on ZFS, you can use snapshots for instant backups without long downtime.
# Snapshot
zfs snapshot zroot/data/config@backup-$(date +%F)
# Rollback (if needed)
# 1. Stop container
# 2. Rollback
zfs rollback zroot/data/config@backup-2024-01-01
# 3. Start container
Maintenance
Pruning Images
Over time, old image layers can accumulate.
# Remove unused images
podman image prune
# Remove all unused images (including untagged)
podman image prune -a
Checking Logs
If a container fails to start:
If the application crashes but the container is running: Check the internal service logs mapped to your host: