Вступление
Есть такой проект — Calibre, хорошо известный для всех любителей не только читать электронные книги, но и хранить библиотеку у себя на компьютере/сервере.
Но, у этого проекта есть проблема — практически невозможное использование из браузера. Эту проблему решает проект Calibre-Web и дальнейшее его развитие, форк, Calibre-Web Automated.
При установке в докер, Calibre-Web Automated, в отличии от Calibre-Web, ставит и саму Calibre, но, также как и Calibre-Web, не может сканировать уже существующую библиотеку книг — для этого нужно запускать непосредственно Calibre… Или нет?
Пара слов про установку Calibre-Web Automated в Docker
Разворачиваем CWA с помощью Docker Compose.
Собственно, сам файл docker-compose.yml
services:
calibre-web-automated:
image: crocodilestick/calibre-web-automated:latest
container_name: cwa
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Moscow
volumes:
- ./config:/config
- /books:/calibre-library
- /books-add:/cwa-book-ingest
- /my/library/path: /books
ports:
- 8083:8083
restart: unless-stopped
В папке, где находится файл docker-compose.yml, создаем папку config.
Далее, папка «/books» — это папка, в которую CWA будет переносить файлы, которые обнаружит в папке «/books-add». После переноса книги будут добавлены в базу данных сервиса.
Папка «/my/library/path» — это папка с моей библиотекой книг на накопителе.
Добавление существующих книг в базу данных Calibre-Web Automated
Итак, после того, как сервис у нас запустился, необходимо просканировать библиотеку книг и добавить их в базу данных Calibre вместе с описанием, обложками и прочим.
Выполняем все команды от имени пользователя, у которого есть права работать с Docker. Например, от root.
Запускаем bash в контейнере Calibre-Web Automated.
docker exec -it cwa /bin/bash
Далее, воспользуемся программой calibredb. Именно она позволяет манипулировать базой данных Calibre.
calibredb add /books --with-library /calibre-library -r
Ключи:
add — добавление
/books — путь к нашей существующей библиотеке, которая подключена к контейнеру по пути /books через файл docker-compose.yml
—with-library /calibre-library — путь к библиотеке Calibre — не менять
-r — рекурсивная обработка файлов, каталогов
Заключение
После выполнения команды все наши книги будут доступны через CWA.
Внимание! Если библиотека книг большая, то сканирование может занять даже не часы — дни. Поэтому, советую работать через tmux. Особенно, если работаем на сервере, через ssh.
В процессе добавления могут выходить ошибки чтения файлов. Не пугаться, работа продолжится.
