Self-host Bookshelf
Self-hosted ebook library with OPDS catalog for e-readers
- Stars
- 373
- Port
- 3000 (HTTP server for the web UI and OPDS catalog)
What is Bookshelf?
Bookshelf is a self-hosted ebook library for managing personal EPUB and PDF collections. It publishes books to either Cloudflare R2 (via Cloudflare Workers) or a local filesystem, with no database required. Features include browser-based EPUB and PDF readers with multiple layouts (two-page, single-page, continuous scroll), page tint options (paper, sepia, night), OPDS 1.2/2.0 catalog for e-readers (KOReader, Thorium, Calibre, Panels, Moon+ Reader, Aldiko, Chunky), profile support for multiple readers with reading position sync, cover generation from PDFs and EPUBs, and streaming reads for large files. It runs via Docker (port 3000) or directly with Node.js 24+. No authentication is built-in — it's designed for trusted networks or behind a reverse proxy. Licensed under MIT.
Should you self-host Bookshelf?
Bookshelf scores 47/100 on selfhost.directory (how scoring works) and ranks #9 of 19 in Ebook Management. It has 373 GitHub stars.
There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.
Setup is moderate: expect some configuration beyond a single command. It is MIT-licensed and written mostly in Typescript.
Its closest alternative on selfhost.directory is Calibre (83/100, 26 264 stars). It scores higher overall, so compare the two before you pick. See Bookshelf vs Calibre side by side.
Features
- Cloudflare R2 storage
- Cover generationRequires poppler-utils and webp tools for PDF covers
- Download resume
- EPUB reader
- Keyboard Navigation
- Local Filesystem Storage
- Multi-format books
- Multiple reader profiles
- No Database Required
- OPDS Catalog
- PDF reader
- Reading position syncLast-write-wins for concurrent devices on same profile
- Streaming reads
Bookshelf README
More in Ebook Management
Calibrecalibre is a free, open-source e-book manager for organizing, converting, and reading e-books. Supports all major formats with a built-in Content server for web access.
Calibre Web AutomatedSelf-hosted ebook library with automated ingest, conversion, metadata, and KOReader sync. Combines Calibre-Web UI with Calibre power.
ChaptarrSelf-hosted audiobook and eBook manager forked from Readarr with narrator-aware metadata, dual libraries, and *arr integrations.
ComiGoSelf-hosted, open-source comic/manga reader supporting CBZ, CBR, EPUB, PDF with web UI, PWA offline reading, progress sync, and Docker deployment.
dir2opdsA lightweight OPDS 1.2 ebook server you host yourself that turns a folder into a digital library. Serves EPUB, PDF, MOBI, AZW3, and FB2 to OPDS readers or a web browser.
eloranEloran is a self-hosted, open-source comics and ebook web library in Rust with folder-based library view, reading progress tracking, bookmarks, and multi-user support.
GrimoireA self-hosted web app for organizing and reading your tabletop RPG PDF collection with full-text search, maps, tokens, audio, and campaign management.
InkWeaverInkWeaver is a self-hosted manga download manager with desktop GUI and CLI. Organizes downloads with metadata, cover art, and export formats (CBZ, PDF).
KOllectorSelf-hosted Flask app that aggregates KOReader highlights from multiple devices via Syncthing, enriches metadata via Open Library, and exports to blog posts.
KomgaKomga is a self-hosted, open-source media server for comics, manga, and eBooks with responsive web UI, REST API, OPDS, Kobo/KOReader sync, and multi-user management.
kompanionKOmpanion is a self-hosted, open-source backend for KOReader e-readers providing OPDS catalog, reading progress sync, and book statistics without a web reading interface.
KoShelfSelf-hosted web dashboard combining KOReader notes, highlights, and reading statistics with library browsing, in-app reader, calendar, and optional auth.
0 comments