Komga

Komga - достаточно неплохой сервер для чтения комиксов и манги. Написан на Java, весь движок буквально в одном Jar-файле. Имеет возможности каталогизации тайтлов, автоматическое сканирование страничек и предоставляет удобство при чтении, в том числе - вывод сразу по две страницы, имитируя книгу. Так же для ценителей есть возможность листать не слева направо, а наоборот. Недавно завезли поддержку EPUB. Есть возможность использовать OPDS API Из минусов - жрет вагон оперативной памяти (Java хули) и достаточно медленная работа с PDF файлами, поскольку каждая страница конвертируется в jpg, минуя встроенный просмотрщик PDF в браузере. Так же в упор не умеет в CBR (rar-based) файлы, предварительно рекомендуется перепаковать из rar в zip.

Запуск Komga в Docker Compose

Да легко, не нужно пердолиться с явой как минимум. Запускаем docker-compose.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

chmod +x /opt/komga/komga.jar

Создаем сервис systemd

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 и запускаем сервис

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+ Работает Нет Нет
Android Librera Работает Нет Нет
Android PocketBook Не поддерживается CBZ/CBR Нет Нет
Android FBReader Поддерживается только PDF. PDF. Для поддержки PDF нужна премиум-версия программы. Не запоминаются пароли Нет Нет
iOS Panels Работает Yes (v3.0.0+) OPDS PSE 1.0 (v2.8.0+) OPDS PSE 1.1 (v2.9.7+)
iPadOS Chunky Comic Reader Не работает с версии Komga 1.4.0+ Нет OPDS PSE 1.0
iOS KyBook Работает Да Нет

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, iOS) Каверы не отображаются (В дальнейшем реализуется) Yes No
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9