Self-hosted ebook library server with a built-in reader, KOReader reading sync, OPDS feed, and reading statistics, shipped as one Docker image.
BookHeaven/BookHeaven.Server
Self-hosted web server for managing your ebook library, with OPDS, KOReader Sync and an API for the BookHeaven Reader Android app.
Open-source alternative to:Calibre Web
- Stars
- 201
- Forks
- 4
- Open issues
- 2
- Last commit
- 2 days ago
What is it?
BookHeaven Server is a web application for organizing and reading an ebook library on your own machine. It groups books by author, series and collection, supports tags, and reads metadata directly from each ebook file. Edits to titles, authors or covers are written back into the file, and covers and metadata can also be fetched from the internet.
The server tracks reading progress per profile, recording start date, last read date, percentage, elapsed time and finish date, and progress can be set manually. Profiles keep separate reading histories for different users. Custom fonts can be uploaded and made available for devices to download.
For clients, the server exposes an OPDS feed at /opds/v1, works as a sync target for KOReader, and provides a custom API used by the BookHeaven Reader Android app, which can discover the server automatically on the local network. It is deployed with Docker or Podman, using a volume for data and an optional import folder.
Key features
- 01Organize books by author, series, collection and tags
- 02Edit metadata and covers, with changes saved back into the ebook file
- 03Fetch covers and metadata from the internet
- 04Track reading progress per profile, with manual adjustment
- 05OPDS feed at /opds/v1 and KOReader Sync support
- 06Automatic server discovery for the BookHeaven Reader Android app
Use cases
- Hosting a personal ebook library on a home server and reading it across devices
- Serving an OPDS catalog to e-reader apps that support it
- Syncing reading progress between KOReader and a central server
- Managing custom fonts for devices that read your books
Quick start
- 1
Pull the container image from GitHub Container Registry
docker pull ghcr.io/bookheaven/bookheaven-server:latest - 2
Start the server with Docker run, mapping the web UI port and data folder
docker run -d --name bookheaven --user 1000:1000 -p 8080:8080 -p 27007:27007/udp -v $PWD/data:/app/data -v $PWD/import:/app/import -e SERVER_URL=https://bookheaven.yourdomain.tld ghcr.io/bookheaven/bookheaven-server:latest - 3
Open the web UI in your browser on port 8080
Things to know
- Not recommended to store the data folder on a network share because it uses SQLite.
In collections
Topics
FAQ
- What is BookHeaven.Server?
- Self-hosted web server for managing your ebook library, with OPDS, KOReader Sync and an API for the BookHeaven Reader Android app. BookHeaven Server is a web application for organizing and reading an ebook library on your own machine. It groups books by author, series and collection, supports tags, and reads metadata directly from each ebook file. Edits to titles, authors or covers are written back into the file, and covers and metadata can also be fetched from the internet.
- Is BookHeaven.Server free to use? What license does it have?
- BookHeaven.Server is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
- Is BookHeaven.Server still maintained?
- Actively maintained. The last commit to BookHeaven.Server was on Nov 5, 2026.
- What can I use BookHeaven.Server for?
- Hosting a personal ebook library on a home server and reading it across devices Serving an OPDS catalog to e-reader apps that support it Syncing reading progress between KOReader and a central server Managing custom fonts for devices that read your books
- How do I install BookHeaven.Server?
- Pull the container image from GitHub Container Registry: docker pull ghcr.io/bookheaven/bookheaven-server:latest Start the server with Docker run, mapping the web UI port and data folder: docker run -d --name bookheaven --user 1000:1000 -p 8080:8080 -p 27007:27007/udp -v $PWD/data:/app/data -v $PWD/import:/app/import -e SERVER_URL=https://bookheaven.yourdomain.tld ghcr.io/bookheaven/bookheaven-server:latest Open the web UI in your browser on port 8080
- Where can I get BookHeaven.Server?
- The source code and installation instructions are on GitHub: https://github.com/BookHeaven/BookHeaven.Server
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A self-hosted server for comics, manga and digital books, with OPDS support and built-in readers for common e-book and comic formats.
A self-hosted library and reading platform for ebooks, PDFs, audiobooks, and comics, with progress sync across web, iPhone, Kobo, and KOReader.
A self-hosted personal ebook library web app built on Calibre, with online reading, OPDS, Kindle push and multi-user support.
Self-hosted reading server for manga, comics, webtoons, and EPUB/PDF books, with browser readers and sharing for family and friends.
Self-hosted web app to search and request books and audiobooks across configured sources, with multi-user requests and Calibre-friendly imports.