Bookshelf: self-hosted eBook library on object storage without a database
Bookshelf – Self-hosted eBook library that runs on object storage

Bookshelf is a self-hosted library for your own EPUB and PDF files. It runs as a Cloudflare Worker over R2 or as a Node server over a directory, with no database. The server-rendered page lists books, filters them, and offers built-in readers for both formats. Setup is simple: `npm run demo` generates a shelf of public-domain titles, and Docker or direct Node deployment are supported. Note that there is no authentication, so it's meant for trusted networks.
There is no authentication — anyone with the URL can read and download the whole library.
- murerkinn
Привет, я автор Bookshelf. Приятно видеть интерес к проекту, спасибо всем за отзывы и обсуждение.
Bookshelf ещё очень молод. Главная цель всегда заключалась в том, чтобы максимально упростить инфраструктуру, при этом давая вам библиотеку, которой вы полностью управляете. Я никогда не собирался превращать его в хостинг-сервис, на который все подписываются. Я бы предпочёл, чтобы людям было легко размещать свою собственную библиотеку с минимальными или нулевыми текущими затратами.
Демо сейчас работает на Cloudflare Workers и R2, и их бесплатных тарифов более чем достаточно для этого случая. Настройка также довольно проста. Я хотел бы сохранить это, добавив при этом больше вариантов хранения и развёртывания, чтобы люди могли выбирать то, что лучше всего подходит им.
Я также планирую значительно улучшить интерфейс чтения и рассматриваю возможность создания приложения для разных платформ с такими функциями, как офлайн-чтение.
Ещё многое предстоит выяснить, поэтому мне было бы очень интересно услышать больше идей, запросов функций и сценариев использования, которые люди хотели бы видеть поддержанными.
- philips
Если кому-то это поможет, вот как я управляю своей библиотекой электронных книг с помощью плоских файлов и разнородных устройств (Android, macOS, iOS, Kindle и т.д.) У меня есть своя библиотека электронных книг, размещённая с помощью copyparty. Это один бинарник. Работает на обычных файлах. И поддерживает OPDS для интеграции с KOreader (Kindle) или Readest (iOS/macOS). https://github.com/9001/copyparty#opds-feeds
Он также поддерживает WebDAV, так что я могу быстро синхронизировать всё через rclone на SD-карту на таких устройствах, как Android-планшет.
Мне очень нравится удобство плоских файлов и множества протоколов.
- phildenhoff
Поскольку я создавал инструмент в этой области, мне нравится видеть все альтернативы Calibre, которые появились за последние несколько лет! Интересно видеть, какие конкретные потребности есть у людей.
Например, Bookshelf — что побуждает кого-то сделать библиотеку электронных книг, которая работает только с объектным хранилищем? Это проект на выходные, отвечающий на вопрос «как бы это выглядело»? Или это то, что автор хотел в течение долгого времени?
- bordercontrol
Сквозное шифрование на стороне клиента — обязательное условие для меня при хостинге чего-либо в наши дни. Я использую Cryptomator именно по этой причине. Это снимает множество юридических вопросов, потому что мне нужно только курировать данные для своих собственных нужд, а не для государственных структур.
Я очень хочу, чтобы сквозное шифрование на стороне клиента стало более распространённым в сообществе разработчиков. Это больше не сложно реализовать и избавляет от всех головных болей, связанных с соблюдением определённых нормативных требований.
Сейчас так много законов, регулирующих авторские права и хостинг. Случайно открытый S3-бакет, полный электронных книг, в некоторых юрисдикциях может технически привести к тюремному заключению. Автоматические уведомления о прекращении деятельности. Провайдеры также могут автоматически сканировать хранящиеся материалы и так далее. Есть так много причин не размещать свою медиатеку в незашифрованном виде на стороннем сервере.
Я рекомендую использовать такой инструмент только в том случае, если вы можете доказать, что вам legally разрешено владеть каждой загружаемой электронной книгой в каждой юрисдикции, в которую вы путешествуете или живёте, а также в юрисдикции, где находится сервер.
Покойся с миром, Аарон Шварц.
- BloodyIron
Я фанат audiobookshelf. Пусть название вас не обманывает, он умеет многое! Я использую его для подкастов, аудиокниг и электронных книг. Это отлично!