Веб-интерфейс к архиву «Флибусты»

Короткая заметка по теме локальной библиотеки. Как уже писал в прошлой заметке, сделал интерфейс для работы с ZIM-файлами с архивами Википедии. С архивом «Флибусты» в Linux обычно работал через Myrulib, которая уже больше десятка лет не развивается — уже не помню, вроде были какие-то проблемы со сборкой, но где-то нашел то ли готовую сборку под современные системы, то ли переделанную, которую получилось собрать — в общем, тем и пользовался.

Сейчас захотелось большего. Что было найдено:

  • Сначала — некие монстрообразные проекты под docker, тащащие с собой Postgres, Nginx и PHP-FPM. Такой вариант позволил бы развернуть полную копию проекта со всеми правками. Да, на Флибусте публикуются в том числе ежедневные срезы базы данных. Но — не сложилось, софт в итоге фейлился на импорте базы, в веб-интерфейсе, соответственно, тоже ругань на отсутствие таблиц.
  • fb2index (тут еще описание). Запустилось, работает. Плюсы: работает с собственным индексом (т.е., вполне можно разместить в каталоге библиотеки только нужные архивы), не требует обвязки — просто запустил бинарник с параметрами и все. Базу может держать в Sqlite3, может в Mysql. База в итоге заняла 350 МБ. Минусы — веб-интерфейс примитивен.
  • Ну и то, на чем в итоге остановился — inpx-web. Красивое. Работает с inpx-файлом, распространяемым с архивом Флибусты, по нему потом делает свою базу данных (у меня все заняло около 700 МБ). В комментариях Issue tracker’а есть руководство о том, как прикрутить читалку: в моем случае распаковываем упомянутый архив в ~/.inpx-web/public/reader/, в конфиге указываем "bookReadLink": "/reader/?${DOWNLOAD_LINK}",. Читалка может не самая фичастая (на десктопе размещение текста только в 2 столбика, на телефоне текст мелкий даже при большом увеличении, плюс пустые поля по бокам), но в целом может быть вполне полезна.
    Работает так же, как и предыдущий проект — из одного файла, но при желании можно задавать и править параметры в конфиге.

Я доволен.

Update: в закладки: https://habr.com/ru/articles/917782/

Добавить комментарий