## Komga
![](/Self-Hosted/Komga/komga-ui.jpg)
**Komga** - достаточно неплохой сервер для чтения комиксов и манги. Написан на Java, весь движок буквально в одном Jar-файле.
Имеет возможности каталогизации тайтлов, автоматическое сканирование страничек и предоставляет удобство при чтении, в том числе - вывод сразу по две страницы, имитируя книгу. Так же для ценителей есть возможность листать не слева направо, а наоборот. Недавно завезли поддержку EPUB. Есть возможность использовать OPDS API
Из минусов - жрет вагон оперативной памяти (Java хули) и достаточно медленная работа с PDF файлами, поскольку каждая страница конвертируется в jpg, минуя встроенный просмотрщик PDF в браузере. Так же в упор не умеет в CBR (rar-based) файлы, предварительно рекомендуется перепаковать из rar в zip.
## Запуск Komga в Docker Compose
Да легко, не нужно пердолиться с явой как минимум. Запускаем docker-compose.yaml с таким содержимым:
```yaml
---
version: '3.8'
services:
komga:
image: gotson/komga
container_name: komga
volumes:
- "/content/manga-comix/config:/config" # конфиги после первоначального запуска храним тут
- "/content/manga-comix/data:/data" # контент храним здесь
- "/etc/timezone:/etc/timezone:ro"
ports:
- 25600:25600 # порт настраиваем по вкусу
user: "1000:1000" # на контент даем те же права что и здесь. опционально
# Тут можно указать параметры запуска, например ограничим использование оперативной памяти на 2GB
# environment:
# - JAVA_TOOL_OPTIONS=-Xmx2g
restart: unless-stopped
```
## Запуск как Systemd сервис
Забираем архив со страницы с релизами https://github.com/gotson/komga/releases
Устанавливаем OpenJDK 17+ версии.
Кидаем jarник, к примеру, в /opt/komga/komga.jar
```bash
chmod +x /opt/komga/komga.jar
```
Создаем сервис systemd
```bash
sudo nano /etc/systemd/system/komga.service
```
Сохраняем сервис с таким содержимым:
```
# komga.service
[Unit]
Description=Komga Service
Wants=network-online.target
After=network-online.target
[Service]
ExecStart=/usr/bin/java -jar /opt/komga/komga.jar
User=YourUserName
[Install]
WantedBy=multi-user.target
```
Далее рестартим демон systemd и запускаем сервис
```bash
sudo systemctl daemon-reload
sudo systemctl enable komga
sudo systemctl start komga
sudo systemctl status komga
```
Если сервис запустился то можно открывать страничку по localhost:25600
## OPDS API
Мобильные приложения для чтения существуют, но с нюансами. Ниже приведена табличка по которой можно соорентироваться.
### OPDS v1
API Ссылка: `http(s)://your-server(:25600)(/baseUrl)/opds/v1.2/catalog`
| OS | App name | Status | OpenSearch support | Page streaming support |
| ------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ------------------ | --------------------------------------------- |
| Android | [Moon Reader+](https://play.google.com/store/apps/details?id=com.flyersoft.moonreader) | **Работает** | Нет | Нет |
| Android | [Librera](https://play.google.com/store/apps/details?id=com.foobnix.pdf.reader) | **Работает** | Нет | Нет |
| Android | [PocketBook](https://play.google.com/store/apps/details?id=com.obreey.reader) | Не поддерживается CBZ/CBR | Нет | Нет |
| Android | [FBReader](https://play.google.com/store/apps/details?id=org.geometerplus.zlibrary.ui.android) | Поддерживается только PDF. PDF. Для поддержки PDF нужна премиум-версия программы. Не запоминаются пароли | Нет | Нет |
| iOS | [Panels](https://panels.app/) | **Работает** | **Yes** (v3.0.0+) | **OPDS PSE 1.0** (v2.8.0+) **OPDS PSE 1.1** (v2.9.7+) |
| iPadOS | [Chunky Comic Reader](https://apps.apple.com/us/app/chunky-comic-reader/id663567628) | Не работает с версии Komga 1.4.0+ | Нет | **OPDS PSE 1.0** |
| iOS | [KyBook](http://kybook-reader.com/) | Работает | **Да** | Нет |
### OPDS v2
API Ссылка: `http(s)://your-server(:25600)(/baseUrl)/opds/v2/catalog`
| OS | App name | Status | Sync read progress | Streaming |
| ------------- | -------------------------------- | ------------------------------------------------- | ------------------ | --------- |
| Android / iOS | Cantook by Aldiko ([Android](https://play.google.com/store/apps/details?id=com.aldiko.android), [iOS](https://apps.apple.com/us/app/cantook-by-aldiko/id1476410111)) | Каверы не отображаются (В дальнейшем реализуется) | Yes | No |