Run with Podman
This method is not officially supported.
Usage
Here are some example snippets to help you get started creating a container.
Refer to Run with Docker for information about images and version tags.
podman
Create the container:
podman create \
--name=komga \
-p 25600:25600 \
--mount type=bind,source=/path/to/config,target=/config \
--mount type=bind,source=/path/to/data,target=/data \
docker.io/gotson/komga:latest
Start the container:
podman start komga
podman quadlet file
These quadlet files were tested with podman version 4.5.3
-
Create the following quadlet file
~/.config/containers/systemd/komga.container:[Unit]Description=Media server for comics/mangas/BDs/magazines/eBooks with API, OPDS and Kobo Sync support[Container]## GeneralAutoUpdate=registryImage=docker.io/gotson/komga:latest## NetworkPublishPort=25600:25600## Volumes# %h is for user home directory.# see https://man.archlinux.org/man/systemd.unit.5.en#SPECIFIERS for more info about this.Volume=%h/path/to/config:/configVolume=%h/path/to/data:/data## Environment VariablesEnvironment=<ENV_VAR>=<extra configuration>[Service]# Add 143 exit code to prevent the systemd service entering a failed state when stopping itSuccessExitStatus=0 143# Extend Timeout to allow time to pull the imageTimeoutStartSec=900[Install]# Start komga on bootWantedBy=multi-user.target default.target -
Run
systemctl --user daemon-reloadto generate the systemd service from the quadlet file. -
Run
systemctl --user start komga.serviceto start the container. -
Make sure to create the folders under the Volumes section of the quadlet file before starting the container.
podman quadlet files for using komf
These quadlet files were tested with podman version 4.5.3
-
Create the following quadlet files in
~/.config/containers/systemd/komga-
komga.pod[Pod]# KomgaPublishPort=25600:25600# KomfPublishPort=8085:8085[Install]# Start the pod on bootWantedBy=multi-user.target default.target -
komga.container[Unit]Description=Media server for comics/mangas/BDs/magazines/eBooks with API, OPDS and Kobo Sync support[Container]## GeneralAutoUpdate=registryImage=docker.io/gotson/komga:latestPod=komga.pod## Volumes# %h is for user home directory.# see https://man.archlinux.org/man/systemd.unit.5.en#SPECIFIERS for more info about this.Volume=%h/path/to/config:/configVolume=%h/path/to/data:/data## Environment VariablesEnvironment=<ENV_VAR>=<extra configuration>[Service]# Add 143 exit code to prevent the systemd service entering a failed state when stopping itSuccessExitStatus=0 143# Extend Timeout to allow time to pull the imageTimeoutStartSec=900 -
komf.containerCreate a podman secret called
komga_passwordfor the komga admin password. Check the official Podman documentation for more details on how to create a podman secret.[Unit]Description=Komga and Kavita metadata fetcherAfter=komga.service[Container]## GeneralAutoUpdate=registryImage=docker.io/sndxr/komf:latestPod=komga.pod## Volumes# %h is for user home directory.# see https://man.archlinux.org/man/systemd.unit.5.en#SPECIFIERS for more info about this.Volume=%h/path/to/config:/config## Environment VariablesEnvironment="KOMF_KOMGA_BASE_URI=http://localhost:25600"Environment="[email protected]"Environment="JAVA_TOOL_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact -XX:ShenandoahGuaranteedGCInterval=3600000 -XX:TrimNativeHeapInterval=3600000"Secret=komga_password,type=env,target=KOMF_KOMGA_PASSWORD[Service]# Add 143 exit code to prevent the systemd service entering a failed state when stopping itSuccessExitStatus=0 143# Extend Timeout to allow time to pull the imageTimeoutStartSec=900
-
-
Run
systemctl --user daemon-reloadto generate the systemd services from the quadlet files. -
Run
systemctl --user start komga-pod.serviceto start the pod. -
Make sure to create the folders under the Volumes section of the quadlet files before starting the pod.
Parameters
Refer to Run with Docker for information about parameters and memory limit.
Support info
- Shell access whilst the container is running:
podman exec -it komga /bin/bash - To monitor the logs of the container in realtime:
podman logs -f komga
Updating
Below are the instructions for updating containers:
Via podman auto-update
- Add
AutoUpdate=registryunder the[Container]section of the quadlet file. - Use any tag for the image that isn't version specific like the
latesttag. - Check if a new image is available:
podman auto-update --dry-run - Update containers:
podman auto-update
Automatic updates
- Follow the instructions on the previous section to configure
podman auto-update - Enable the systemd timer:
systemctl --user enable podman-auto-update.timer - By default the timer will update the containers daily at midnight. You can customize the timer by running
systemctl --user edit podman-auto-update.timer - Check this page for more info about systemd timers.
Example systemd timer override for weekly updates:
[Timer]
OnCalendar=weekly