Bookshelf – Self-hosted eBook library that runs on object storage
Bookshelf offers a minimalist, self-hosted ebook library solution, designed for users who already own digital books and want control over their collection without a complex database. It smartly leverages object storage like Cloudflare R2 or a local filesystem, providing in-browser readers for EPUB and PDF. This project appeals to the HN crowd for its elegant simplicity, focus on self-sovereignty, and database-less architecture.
The Lowdown
Bookshelf is an open-source, self-hosted ebook library application designed for individuals to manage their personal digital book collections. It offers a straightforward approach to serving ebooks, emphasizing ease of deployment and minimal dependencies by operating without a traditional database.
- Core Functionality: The application provides a server-rendered page that lists, searches, and allows downloads of ebooks. It includes integrated in-browser readers for both EPUB and PDF formats.
- Storage Flexibility: Bookshelf supports deployment as a Cloudflare Worker leveraging R2 object storage or as a Node.js server operating directly on a local filesystem directory.
- Minimalist Design: A key feature is its database-less architecture, simplifying setup and maintenance. It manages book metadata and user profiles without a separate database.
- Deployment Options: Users can deploy Bookshelf using Docker for convenience, directly on a Unix-like machine (with Node 24+ and specific image tools), or on Cloudflare's serverless platform.
- Demo Capability: A built-in
npm run democommand generates a shelf of public-domain titles, allowing users to test the application or create screenshots without needing to source their own books initially. - Security Considerations: Crucially, Bookshelf does not include built-in authentication. It is explicitly stated that anyone with access to the application's URL can read and download the entire library, making it suitable for trusted private networks or behind an external authentication layer.
Bookshelf targets tech-savvy users looking for a simple, self-controlled solution for their ebook collections, valuing architectural elegance and personal data sovereignty over extensive features or public-facing security.