Calibre-Web Automated. Сканирование существующей библиотеки книг.

от автора

в

Вступление

Есть такой проект — 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.

В процессе добавления могут выходить ошибки чтения файлов. Не пугаться, работа продолжится.