Blame

f74f68 Mayekkuzu 2024-11-12 19:40:42 1
## Komga
2
![](/Self-Hosted/Komga/komga-ui.jpg)
3
**Komga** - достаточно неплохой сервер для чтения комиксов и манги. Написан на Java, весь движок буквально в одном Jar-файле.
4
Имеет возможности каталогизации тайтлов, автоматическое сканирование страничек и предоставляет удобство при чтении, в том числе - вывод сразу по две страницы, имитируя книгу. Так же для ценителей есть возможность листать не слева направо, а наоборот. Недавно завезли поддержку EPUB. Есть возможность использовать OPDS API
5
Из минусов - жрет вагон оперативной памяти (Java хули) и достаточно медленная работа с PDF файлами, поскольку каждая страница конвертируется в jpg, минуя встроенный просмотрщик PDF в браузере. Так же в упор не умеет в CBR (rar-based) файлы, предварительно рекомендуется перепаковать из rar в zip.
6
## Запуск Komga в Docker Compose
7
Да легко, не нужно пердолиться с явой как минимум. Запускаем docker-compose.yaml с таким содержимым:
8
```yaml
9
---
10
version: '3.8'
11
services:
12
komga:
13
image: gotson/komga
14
container_name: komga
15
volumes:
16
- "/content/manga-comix/config:/config" # конфиги после первоначального запуска храним тут
17
- "/content/manga-comix/data:/data" # контент храним здесь
18
- "/etc/timezone:/etc/timezone:ro"
19
ports:
20
- 25600:25600 # порт настраиваем по вкусу
21
user: "1000:1000" # на контент даем те же права что и здесь. опционально
22
# Тут можно указать параметры запуска, например ограничим использование оперативной памяти на 2GB
23
# environment:
24
# - JAVA_TOOL_OPTIONS=-Xmx2g
25
restart: unless-stopped
26
```
27
## Запуск как Systemd сервис
28
Забираем архив со страницы с релизами https://github.com/gotson/komga/releases
29
Устанавливаем OpenJDK 17+ версии.
30
Кидаем jarник, к примеру, в /opt/komga/komga.jar
31
```bash
32
chmod +x /opt/komga/komga.jar
33
```
34
Создаем сервис systemd
35
```bash
36
sudo nano /etc/systemd/system/komga.service
37
```
38
Сохраняем сервис с таким содержимым:
39
```
40
# komga.service
41
[Unit]
42
Description=Komga Service
43
Wants=network-online.target
44
After=network-online.target
45
46
[Service]
47
ExecStart=/usr/bin/java -jar /opt/komga/komga.jar
48
User=YourUserName
49
50
[Install]
51
WantedBy=multi-user.target
52
```
53
Далее рестартим демон systemd и запускаем сервис
54
```bash
55
sudo systemctl daemon-reload
56
sudo systemctl enable komga
57
sudo systemctl start komga
58
sudo systemctl status komga
59
```
60
Если сервис запустился то можно открывать страничку по localhost:25600
61
## OPDS API
62
Мобильные приложения для чтения существуют, но с нюансами. Ниже приведена табличка по которой можно соорентироваться.
63
### OPDS v1
64
API Ссылка: `http(s)://your-server(:25600)(/baseUrl)/opds/v1.2/catalog`
65
66
| OS | App name | Status | OpenSearch support | Page streaming support |
67
| ------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ------------------ | --------------------------------------------- |
68
| Android | [Moon Reader+](https://play.google.com/store/apps/details?id=com.flyersoft.moonreader) | **Работает** | Нет | Нет |
69
| Android | [Librera](https://play.google.com/store/apps/details?id=com.foobnix.pdf.reader) | **Работает** | Нет | Нет |
70
| Android | [PocketBook](https://play.google.com/store/apps/details?id=com.obreey.reader) | Не поддерживается CBZ/CBR | Нет | Нет |
71
| Android | [FBReader](https://play.google.com/store/apps/details?id=org.geometerplus.zlibrary.ui.android) | Поддерживается только PDF. PDF. Для поддержки PDF нужна премиум-версия программы. Не запоминаются пароли | Нет | Нет |
72
| iOS | [Panels](https://panels.app/) | **Работает** | **Yes** (v3.0.0+) | **OPDS PSE 1.0** (v2.8.0+) **OPDS PSE 1.1** (v2.9.7+) |
73
| iPadOS | [Chunky Comic Reader](https://apps.apple.com/us/app/chunky-comic-reader/id663567628) | Не работает с версии Komga 1.4.0+ | Нет | **OPDS PSE 1.0** |
74
| iOS | [KyBook](http://kybook-reader.com/) | Работает | **Да** | Нет |
75
### OPDS v2
76
API Ссылка: `http(s)://your-server(:25600)(/baseUrl)/opds/v2/catalog`
77
78
| OS | App name | Status | Sync read progress | Streaming |
79
| ------------- | -------------------------------- | ------------------------------------------------- | ------------------ | --------- |
80
| 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 |