-
Notifications
You must be signed in to change notification settings - Fork 33
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
7418b34
commit e0bf7e1
Showing
1 changed file
with
117 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,117 @@ | ||
# Run with Podman Quadlet files | ||
Tested with podman version 5.2.4 | ||
## Registries | ||
|
||
Container images are published on: | ||
- [DockerHub](https://hub.docker.com/r/gotson/komga) | ||
- [ghcr.io](https://github.com/gotson/komga/pkgs/container/komga) | ||
|
||
## Version tags | ||
|
||
This image provides various versions that are available via tags. | ||
|
||
|
||
| **Tag** | **Description** | | ||
|:----------------:|--------------------------------------------------------------| | ||
| `latest` | latest commit | | ||
| `MAJOR.x` | latest `MAJOR` version, for example `0.x` | | ||
| `x.y.z` | version `x.y.z` | | ||
|
||
## Usage | ||
|
||
|
||
|
||
### podman | ||
|
||
``` | ||
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 \ | ||
--restart unless-stopped \ | ||
docker.io/gotson/komga:latest | ||
``` | ||
|
||
Then start the container: | ||
|
||
``` | ||
docker start komga | ||
``` | ||
|
||
### podman quadlet | ||
|
||
``` | ||
--- | ||
version: '3.3' | ||
services: | ||
komga: | ||
image: gotson/komga | ||
container_name: komga | ||
volumes: | ||
- type: bind | ||
source: /path/to/config | ||
target: /config | ||
- type: bind | ||
source: /path/to/data | ||
target: /data | ||
- type: bind | ||
source: /etc/timezone #alternatively you can use a TZ environment variable, like TZ=Europe/London | ||
target: /etc/timezone | ||
read_only: true | ||
ports: | ||
- 25600:25600 | ||
user: "1000:1000" | ||
# remove the whole environment section if you don't need it | ||
environment: | ||
- <ENV_VAR>=<extra configuration> | ||
restart: unless-stopped | ||
``` | ||
|
||
## Parameters | ||
|
||
Container images are configured using parameters passed at runtime (such as those above). | ||
These parameters are separated by a colon and indicate `external:internal` respectively. | ||
For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container. | ||
|
||
| Parameter | Function | | ||
|:---------------------------------------------------------:|--------------------------------------------------------------------------------------------------------------------------------------------------| | ||
| `-p 25600:25600` | The port for the Komga APIs and web interface | | ||
| `--user 1000:1000` | User:Group identifier - see below for explanation | | ||
| `--mount type=bind,source=/path/to/config,target=/config` | Database and Komga configurations | | ||
| `--mount type=bind,source=/path/to/data,target=/data` | Location of your data directory on disk. Choose a folder that contains both your books and your preferred import location for hardlinks to work. | | ||
| `-e ENV_VAR=value` | Any [configuration](/installation/configuration.md) environment variable | | ||
|
||
## User / Group Identifiers | ||
|
||
When using volumes (`-v` flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user ID and group ID. | ||
|
||
Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic. | ||
|
||
In this instance `UID=1000` and `GID=1000`, to find yours use `id <your_user>` as below: | ||
|
||
``` | ||
$ id <your_user> | ||
uid=1000(jdoe) gid=1000(jdgroup) groups=1000(jdgroup) | ||
``` | ||
|
||
## Increase memory limit | ||
|
||
By default the `java` process will be limited in the maximum amount of memory (RAM) it can use, usually 1gb. If you encounter some `OutOfMemoryException` in the logs you probably need to increase the maximum memory Komga can use. | ||
|
||
To do so, you can use the `JAVA_TOOL_OPTIONS=-Xmx<limit>` environment variable, where `<limit>` can be any amount like `2048m`, `4g` etc. For example to run Komga with a maximum of 4gb of memory: | ||
|
||
```shell script | ||
JAVA_TOOL_OPTIONS=-Xmx4g | ||
``` | ||
|
||
## Support info | ||
|
||
- Shell access whilst the container is running: `podmam exec -it komga /bin/bash` | ||
- To monitor the logs of the container in realtime: `podmam logs -f komga` | ||
|
||
## Updating | ||
|
||
Below are the instructions for updating containers: | ||
|
||
### |