BookHeaven
BookHeaven is a HTML-based application that provides eBook management and reading platform.
A solo developer built the ebook server they wanted. Here’s an honest look at what you get — and what you don’t.
TL;DR
- What it is: A self-hosted ebook library server paired with a dedicated Android reading app, designed from the ground up for e-ink devices [1].
- Who it’s for: Android e-reader owners (Kobo, generic e-ink tablets) who want a clean, modern alternative to Calibre for managing and syncing an EPUB library [1][5].
- Cost savings: No SaaS pricing to escape — BookHeaven is GPL-3.0 and runs on a VPS or home server. The comparison isn’t Zapier-vs-self-hosted; it’s clunky-Calibre-vs-something-you’ll-actually-use [1][4].
- Key strength: Modern, responsive web UI and a companion Android app that handles reading, progress sync, and font downloads in one package — something Calibre and Kavita don’t offer natively [1][2].
- Key weakness: EPUB only. No PDF, no CBZ, no audiobook support. The Android app cannot work standalone — it requires the server. Solo developer who has explicitly said he won’t take feature requests [1].
What is BookHeaven
BookHeaven is a self-hosted ebook library server built by a single .NET developer who got tired of Calibre and built what he actually wanted to use. The project has two parts: a server component (BookHeaven Server) that stores your library, manages metadata, and exposes an OPDS feed and REST API, and an Android app that connects to it for reading, progress tracking, and font downloads [1].
The developer describes the intent plainly in his Reddit announcement: “A self-hosted server instance that acts as a central place to store all of your books. You’ll be able to sort them into authors and series, and add tags for filtering.” [1] No marketing copy about “revolutionizing your reading workflow” — just a practical description of what it does.
The project sits at 164 GitHub stars as of this review, GPL-3.0 licensed. It’s young and small by open-source standards, but the developer notes it has been running in production for his personal use for over a year before going public [1].
Why people choose it
The self-hosted ebook server space is small and, frankly, not in great shape. HowToGeek’s Patrick Campanale summarized the problem bluntly: “There’s no simple-to-use or streamlined Plex-like service to self-host your own eBooks” and both Calibre and Kavita are “equally clunky” [4]. XDA’s Dhruv Bhutani reached a similar conclusion about Calibre: “an extremely dated and bloated piece of software that does the job, but didn’t quite catch my fancy” [5].
The space is dominated by two long-standing options: Calibre/Calibre-Web (powerful, ugly, complicated) and Kavita (modern UI, better for manga and comics than prose). BookHeaven positions itself in the gap: modern UI, designed specifically for epub/e-reader workflows, with an integrated Android app that Calibre and Kavita lack [1][2][4].
The Reddit community’s reception was warm when BookHeaven went public. The developer’s self-aware announcement — “Just in case there weren’t enough solutions for e-book library management lately” — landed well with the r/selfhosted crowd, which appreciates a developer who understands the existing tools and builds something different rather than just another Calibre clone [1].
The specific case for BookHeaven over alternatives comes down to three things:
Android-first reading experience. The companion app is designed specifically for e-ink devices, with customizable font size, line height, and margins, and can be set as your main launcher on a dedicated e-reader. No other self-hosted library server ships a first-party reading app [1].
Metadata round-tripping. Changes to metadata — including covers — are written back into the epub file itself, not just stored in a sidecar database. This means your library stays portable: copy the files somewhere else and your edits come with them [1].
KOReader sync. If you already use KOReader on a Kobo or similar device, BookHeaven works as a custom sync server: add your server URL, use your profile name as the username, and progress syncs automatically [1].
Features
Based on the README and the developer’s announcement:
Library organization:
- Organize books by author, series, and tags [1]
- Metadata read from the epub file on import; editable at any time, with changes persisted back to the file [1]
- Metadata and cover fetching from internet sources [1]
- Full-text filtering by tag [1]
Reading and progress:
- Progress tracking: start date, last read date, percentage read, elapsed time, and finished date [1]
- Progress can also be set manually [1]
- KOReader sync — use the server as a custom KOReader sync target [1]
Android app:
- Designed for e-ink displays, runs on any Android [1]
- Customizable reading experience (font size, line height, margins) [1]
- Can function as the device’s main launcher for a dedicated e-reader setup [1]
- Downloads books from the server; cannot operate standalone [1]
Fonts:
- Upload custom fonts to the server; they become available for all connected devices to download and use [1]
- Fonts can be split by style (regular, italic) and weight (normal, bold), or mapped from a single file [1]
Multi-user:
- Multiple profiles keep reading progress separate [1]
Access protocols:
- OPDS v1 feed at
/opds/v1— compatible with any OPDS reader app [1] - Auto-discovery via UDP port 27007 — the Android app can find the server automatically on a local network [1]
- REST API with documentation at the project website [1]
Formats supported:
- EPUB only. The developer states he’s not sure he’ll add support for anything else [1].
Pricing: SaaS vs self-hosted math
BookHeaven has no SaaS offering and no paid tier. The software is GPL-3.0 and entirely free. The only cost is infrastructure [1].
What you need to run it:
- A Linux VPS or home server (a $5–6/mo Hetzner or DigitalOcean instance is sufficient for a personal library)
- Docker (the only supported deployment method)
- Optional: a domain and reverse proxy for HTTPS access outside your home network
What you’re escaping: The honest comparison isn’t against a subscription SaaS but against the hidden cost of using Calibre/Calibre-Web: setup time, maintenance overhead of a heavier stack, and the friction that keeps you from actually using your library. As the HowToGeek piece notes, the difficulty of self-hosted ebook servers has historically been “unnecessarily complicated” setup and “archaic” interfaces [4]. BookHeaven’s value proposition is your time and patience, not monthly billing.
There is no commercial licensing, no “enterprise tier,” no features gated behind a paywall. Everything in the README is everything you get.
Deployment reality check
Deployment is Docker Compose. The README provides a complete, functional compose file — mount ./data:/app/data for persistent storage, expose port 8080 for the web UI, and optionally expose UDP 27007 for auto-discovery. There is also a docker run variant and Podman support for rootless container setups [1].
The setup is genuinely simple for anyone with Docker experience:
- Copy the compose file
- Set
SERVER_URLto your domain or IP - Set
TZto your timezone - Run
docker compose up -d
The web UI appears on port 8080. Point your Android app at it, or add /opds/v1 to any OPDS reader.
What can go sideways:
The README includes one hard warning worth repeating: “Don’t map the /app/data folder to a network share. This project uses SQLite and it is known to have issues.” [1] If you’re running this on a NAS with network-attached storage, you need a local bind mount for the data directory — not an NFS share or SMB mount.
The auto-discovery feature requires opening UDP port 27007 on your host, which the README notes is hardcoded and can’t be changed for now [1]. If you’re running BookHeaven behind a strict firewall or on a remote VPS, auto-discovery won’t work and you’ll configure the server URL manually.
The Android app is required if you want to actually read books through the BookHeaven ecosystem. The server has a web UI for management, and OPDS works with third-party readers, but the first-party reading experience is Android-only [1]. iOS users are out of scope for now.
For a technically comfortable user: 15–30 minutes to a working instance. For someone new to Docker: 1–2 hours with a guide, plus time to understand the network share warning if running on a NAS.
Pros and Cons
Pros
- Modern, clean UI — built recently, designed for the current era. Multiple people in the r/selfhosted thread praised it as exactly what the category had been missing [1].
- First-party Android reading app — no other self-hosted ebook server ships a purpose-built reading client. Calibre has third-party apps; BookHeaven’s app is built by the same developer for this specific use case [1][2].
- Metadata round-tripping — edits write back into the epub file, keeping your library portable [1].
- KOReader sync out of the box — works as a custom sync server without plugins or workarounds [1].
- OPDS support — compatible with any OPDS reader if you don’t want the Android app [1].
- Genuine Docker-first design — the compose file in the README works; the developer uses this in production [1].
- GPL-3.0, no paywalls, no tiers — everything is free, forever, by license [1].
- Auto-discovery — the Android app can find the server on a local network without manual IP configuration [1].
- Custom font management — fonts you upload become downloadable on all connected devices, a niche but genuinely useful feature for e-ink users who care about typography [1].
Cons
- EPUB only. PDF, MOBI, CBZ, audiobooks — none of these are supported, and the developer is uncertain he’ll add them [1]. If your library is mixed-format, this is a hard blocker.
- Solo project with no feature requests accepted. The developer is explicit: “I don’t think I’ll be taking any feature requests, mostly because I have enough with my full time job.” [1] This is honest, but it means the project’s roadmap is one person’s priorities.
- Android app only. iOS users, desktop readers, and Kindle users have no native client. OPDS works as a workaround but isn’t the designed experience [1].
- 164 GitHub stars. This is a very young project. Compared to Calibre-Web (14,000+ stars) or Kavita (27,000+ stars), BookHeaven has minimal community vetting, fewer documented bug reports, and a smaller pool of users who’ve hit the edge cases [1][2][3].
- SQLite constraint. Fine for personal use, but the network share warning means you need to think about where the data lives before deploying [1].
- Website appears sparse. The website scrape returned empty body text — documentation exists at the project site, but the public-facing marketing surface is minimal. This is a developer tool, not a polished product [scraped data].
- No iOS, no Windows app, no web reader. Management happens through the web UI; reading happens through the Android app or an OPDS client. In-browser reading isn’t a documented feature [1].
Who should use this / who shouldn’t
Use BookHeaven if:
- You have an Android e-reader (or are willing to use your Android phone for testing) and want a clean way to manage your EPUB library.
- You’re running a Kobo or similar device with KOReader and want progress sync without a third-party service.
- You’ve tried Calibre, found it too heavy or too ugly, and don’t need multi-format support.
- You’re comfortable with Docker and want a simple, low-maintenance server that doesn’t require a full Calibre desktop installation to function.
- Your library is primarily EPUBs — novels, non-fiction, etc., rather than comics, PDFs, or technical documents.
Skip it (use Calibre-Web instead) if:
- You have a mixed-format library: PDF technical books, CBZ comics, MOBI files, audiobooks. Calibre handles 50+ formats and converts between them [2][3].
- You need multi-user access with different permissions, public user registration, or Kindle email delivery [2].
- You need a battle-tested solution with years of community support, plugins, and documentation [3][4].
Skip it (use Kavita instead) if:
- Your collection is primarily manga, comics, or mixed comic/novel libraries. Kavita’s reader handles CBZ, CBR, and PDF alongside epub, and its UI is specifically tuned for panel-by-panel reading [2][3].
Skip it (use Booklore instead) if:
- You want something modern and Calibre-like but cross-platform — not Android-specific. XDA’s review of Booklore describes a similar philosophy (modern, Docker-first, metadata-pulling) but without the Android-only reading constraint [5].
Alternatives worth considering
- Calibre + Calibre-Web — the category incumbent. Supports 50+ formats, format conversion, Kindle sync, multi-user with permissions, in-browser reading. The UI is dated and the setup is more complex, but nothing else matches its feature breadth [2][3][4].
- Kavita — modern UI, fast, cross-platform. Built primarily for manga/comics but handles epub and PDF. No first-party mobile reading app, but solid web reader [2][3].
- Booklore — similar positioning to BookHeaven: modern, Docker-first, metadata-focused. More platform-agnostic (not Android-specific). Worth comparing directly if you’re not tied to an Android e-reader [5].
- PyShelf — terminal-based, minimal requirements, no X server needed. Appropriate only if you want the absolute lightest footprint and don’t care about UI [3].
For Android e-reader owners specifically, the realistic shortlist is BookHeaven vs Kavita. BookHeaven wins on the native reading app and KOReader sync. Kavita wins on format breadth and community size.
Bottom line
BookHeaven is a well-built, honest project by a developer who solved their own problem and shared the result. The Android-first design philosophy is deliberate and coherent: if you use an Android e-ink device, the combination of server-side library management and a dedicated reading app is genuinely better than anything Calibre or Kavita offers for that use case. The metadata round-tripping, KOReader sync, and font management are thoughtful features that show the developer actually uses this daily.
The constraints are equally real. EPUB-only and Android-only aren’t temporary gaps — they’re design choices by a solo developer who said clearly he built this for himself. With 164 stars and no feature request policy, the project’s trajectory depends entirely on one person’s continued interest. For a personal library on an Android e-reader, it’s worth trying. For a family server, a mixed-format archive, or any non-Android workflow, reach for Calibre-Web or Kavita instead.
Sources
- Heas_Heartfire, r/selfhosted — “I present to you: BookHeaven | A self-hosted library manager aimed at Android e-readers”. https://www.reddit.com/r/selfhosted/comments/1n0pmi1/i_present_to_you_bookheaven_a_selfhosted_library/
- Pulkit Chandak, It’s FOSS — “Here Are Your Choices for a Self-hosted eBook Server” (Feb 11, 2026). https://itsfoss.com/self-host-ebook-server-software/
- Jeremy, Noted.lol — “3 Self Hosted E-Book Hosts and Readers”. https://noted.lol/3-self-hosted-ebook-hosts-and-readers/
- Patrick Campanale, HowToGeek — “Why Self-Hosting an eBook Server Is Harder Than It Should Be” (Jul 1, 2025). https://www.howtogeek.com/why-self-hosting-an-ebook-server-is-harder-than-it-should-be/
- Dhruv Bhutani, XDA Developers — “This self-hosted app fixed my messy ebook collection overnight” (Feb 16, 2026). https://www.xda-developers.com/this-self-hosted-app-fixed-my-messy-ebook-collection-overnight/
Primary sources:
- GitHub repository and README: https://github.com/bookheaven/bookheaven.server (164 stars, GPL-3.0)
- Official website and documentation: https://bookheaven.ggarrido.dev
- Getting started guide: https://bookheaven.ggarrido.dev/getting-started
- API reference: https://bookheaven.ggarrido.dev/api-reference
Features
Integrations & APIs
- REST API
Related Documents & Knowledge Base Tools
View all 226 →Stirling-PDF
75KThe most popular self-hosted PDF platform — merge, split, convert, OCR, sign, and process documents with AI, all running on your own infrastructure.
AppFlowy
69KAn open-source Notion alternative with AI, wikis, projects, and databases — cross-platform (desktop, mobile, web) with offline-first architecture and full data ownership.
AFFiNE Community Edition
66KAn open-source workspace that merges docs, whiteboards, and databases into one platform — a privacy-focused alternative to Notion and Miro with AI built in.
Docusaurus
64KA static site generator built on React for documentation websites — write in Markdown/MDX, version your docs, and deploy anywhere. Created by Meta.
Crawl4AI
62KOpen-source LLM-friendly web crawler that generates clean markdown from any website, purpose-built for RAG pipelines, AI data extraction, and automated research.
Atom
61KGitHub's hackable text editor, officially sunset in December 2022. The codebase remains archived on GitHub as a reference for community forks like Pulsar.