У меня накопилась довольно внушительная коллекция — более 50 000 книг. Раньше я управлял ею через MyHomeLib на ПК, но когда я приобрёл небольшой Synology NAS, захотелось перенести всё туда и управлять библиотекой централизованно, из любого места и с любого устройства.
И начался… поиск идеального решения. ![]()
Почему не подошли прошлые решения?
Calibre — мощный, но неудобный
Я установил Calibre в Docker-контейнере и успешно импортировал всю библиотеку. Всё работало — но неудобно.
Он запускался через KasmVNC, что ощущалось как эмулятор старой приставки
.
А главное — кнопка «Скачать книгу» сохраняла файл на сервер, а не на моё устройство.
Приходилось:
- Скачать на сервер
- Затем перекинуть на ПК
- Далее на читалку или телефон.
Это быстро надоело.
Calibre Web — красивый, но хрупкий
Следующей попыткой стал Calibre Web — лёгкий веб-интерфейс. Дизайн и удобство сразу пришлись по душе! ![]()
Но при попытке импортировать книги приложение постоянно падало с ошибками базы данных.
После нескольких дней в поисках решения на форумах мне посоветовали… запускать оба приложения одновременно:
-
Calibre — для импорта и управления библиотекой,
-
Calibre Web — для чтения и скачивания.
Работало, но это было громоздко: два сервиса, двойное потребление ресурсов, сложная синхронизация.
Появился CWA — и всё встало на свои места
Тогда я наткнулся на Calibre Web Automated (CWA) — и с тех пор пользуюсь им уже несколько месяцев.
Стабильно. Надёжно. Без костылей.
Он словно объединил лучшее от обоих миров:
-
Лёгкий веб-интерфейс, как в Calibre Web, -
Полная автоматизация, как в «настоящем» Calibre, -
Никаких VNC, никаких ручных переносов.
Совет: если у вас Android, установите Calibre-Web Companion — управлять библиотекой с телефона стало ещё удобнее!
Основные функции CWA
CWA поддерживает весь функционал оригинального Calibre Web, включая:
-
Современный и адаптивный интерфейс (Bootstrap 3 + HTML5) -
Гибкая система пользователей с индивидуальными правами -
OPDS-лента — подключайтесь с любого ридера (FBReader, Moon+, PocketBook и др.) -
Редактирование и удаление метаданных прямо в браузере -
Автозагрузка метаданных из множества источников (и можно расширить через плагины!) -
Ограничение скачивания для авторизованных пользователей -
Публичная регистрация — пригласите друзей в свою библиотеку -
Отправка книг на ридер в один клик -
Синхронизация с Kobo — прогресс чтения, закладки, заметки -
Чтение прямо в браузере (EPUB, PDF, MOBI и др.) -
Гибкое скрытие контента — по категориям или пользовательским колонкам -
«Волшебная ссылка» (Magic Link) — вход без пароля (идеально для ридеров!) -
OAuth 2.0 / OIDC — вход через Authelia, Google, Keycloak и другие
(Про Authelia и Keycloak советую посмотреть видео у ProHomeLab) -
Продвинутый поиск и фильтрация — находите книги мгновенно -
Поддержка 20+ языков — включая русский!
Уникальные автоматизированные функции CWA
А теперь — самое интересное! Вот что делает CWA по-настоящему уникальным:
-
Automatic Ingest Service — кидаете книги в папку → они сами попадают в библиотеку -
Automatic Conversion Service — автоматическая конвертация в EPUB, MOBI и др. -

Automatic Enforcement of Covers & Metadata — подтягивает недостающие обложки и данные -
Batch Editing & Deletion — редактируйте сотни книг за раз -
Automated Back Up Service — резервные копии «из коробки» -
Automated Setup Experience — всё настраивается за пару кликов -
Automatic EPUB Fixer — чинит битые EPUB-файлы -
Multi-Format Conversion — одна книга → сразу несколько форматов -

Library Auto-Detect — сам находит вашу библиотеку Calibre -

Server Stats Tracking — мониторинг ресурсов и производительности -

Dark/Light Mode — комфортное чтение в любое время суток -
Update Notifications — всегда в курсе новых версий -
Auto-Compression of Backups — экономия места на диске -
Additional Metadata Providers — больше источников для описаний -

KOReader Sync (KOSync) — синхронизация закладок и прогресса -
Enhanced OAuth/OIDC — безопасный и гибкий вход
Мой docker-compose.yml
Я немного упростил официальный файл, так как не использую провайдер HARDCOVER — у моих книг есть какие-то метаданные и мне их хватает.
docker-compose.yml
services:
# Container - Calibre Web Automated Application
calibre-web-automated:
image: crocodilestick/calibre-web-automated:V3.1.3
container_name: Calibre-Web-Automated
environment:
- PUID=1026
- PGID=100
- TZ=Asia/Krasnoyarsk
- CWA_PORT_OVERRIDE=8083
- NETWORK_SHARE_MODE=false
- DISABLE_LIBRARY_AUTOMOUNT=true
volumes:
- /volume1/docker/Calibre-Web-Automated/config:/config
- /volume1/docker/Calibre-Web-Automated/ingest:/cwa-book-ingest # Для добавления новых книг
- /volume1/data/media/books/books:/calibre-library # Где будут храниться книги после добавления
- /volume1/docker/Calibre-Web-Automated/plugins:/config/.config/calibre/plugins
ports:
- 8083:8083
restart: unless-stopped
Как я загрузил 50 000+ книг без ошибок
Когда я попытался скопировать всю коллекцию сразу в папку ingest, Synology выдал ошибку:
«Превышено ограничение на количество файлов. Используйте SMB или другой протокол»
Даже через SMB не получилось — система просто не справлялась с таким объёмом! ![]()
Решение?
Я создал папку ingest2, положил туда все книги, а через Планировщик задач Synology запустил скрипт, который постепенно переносит по 50 файлов за раз в настоящую папку ingest — чтобы CWA не перегружался.
Вот сам скрипт:
#!/bin/bash
SRC="/volume1/docker/Calibre-Web-Automated/ingest2"
DST="/volume1/docker/Calibre-Web-Automated/ingest"
# Проверяем, существуют ли директории
if [ ! -d "$SRC" ] || [ ! -d "$DST" ]; then
echo "Ошибка: одна из директорий не существует."
exit 1
fi
# Получаем список файлов (только файлы, не папки), сортируем по имени, берём первые 50
# Используем while + read для корректной обработки имён с пробелами
find "$SRC" -maxdepth 1 -type f -print0 | sort -z | head -z -n 50 | while IFS= read -r -d '' file; do
filename=$(basename "$file")
dest_file="$DST/$filename"
# Проверяем, существует ли файл в целевой папке
if [ ! -e "$dest_file" ]; then
mv "$file" "$DST/"
echo "Перемещён: $filename"
else
echo "Пропущен (уже существует): $filename"
fi
done
Запускал его каждые 30 минут по расписанию — и через несколько дней вся библиотека спокойно и без ошибок перекочевала в CWA! ![]()
Отправка книг на PocketBook по email
У меня старенький PocketBook, но у него есть отличная функция — получение книг по email.
CWA поддерживает отправку через SMTP — настройка заняла две минуты:
-
SMTP-сервер:
smtp.yandex.ru -
Порт:
465 -
SSL: включён

-
Логин и отправитель: ваш email в Яндексе
-
Получатель:
ваш_пользователь@pbsync.com
Теперь я просто нажимаю «Отправить на ридер» — и книга приходит на PocketBook автоматически! ![]()
Заключение
CWA — это то, что я искал годами.
Он:
-
Импортирует книги -
Конвертирует их в нужные форматы -
Позволяет читать прямо в браузере -
Отправляет на ридер в один клик -
Делает резервные копии -
Работает стабильно, без зависаний и ошибок
И самое главное — он просто работает.
Никаких танцев с бубном, никаких костылей…
(Ну, разве что мой скрипт — но это скорее фича, чем костыль
)
P.S. Я не использую ни одного плагина — и мне этого хватает!
Но если вы нашли крутые плагины, необычные настройки или лайфхаки — напишите в комментариях! Буду рад поэкспериментировать.
Всем удачного чтения и стабильных серверов! ![]()
![]()





