Librum

Modern e-book reader with self-hostable sync

E-books & Media Library ★ 5.3k stars Medium setup GPL-3.0

Librum is a modern e-book reader application with a clean interface and a self-hostable server for syncing a library across devices. It targets readers who want a private, synced reading setup. It is deployed via Docker.

Key features

  • Modern cross-platform reader
  • Self-hostable sync server
  • Annotations and bookmarks
  • Free e-book sources

Pros & cons

Strengths

  • Clean modern reader
  • Syncs across devices
  • Open source

Trade-offs

  • Self-hosting sync is newer
  • Smaller ecosystem

Librum replaces

Last reviewed Sep 13, 2026 · 850 words

Librum is two things at very different levels of maturity. The reader, a C++ desktop application with 5,310 GitHub stars, is one of the cleanest ways to read an EPUB or PDF on a laptop, with annotations, bookmarks, a dictionary and a library view that does not look like it was designed in 2009. The sync server, which is what puts it on this site, is a separate and newer project that runs in Docker and keeps your books, reading position and highlights the same on every machine. My verdict: run Librum for the reading experience, keep your canonical library somewhere with a longer track record such as Calibre-Web, and treat the sync server as a per-user convenience rather than the archive of record.

The reader is the product

Most self-hosted e-book tools are web apps, which means reading in a browser tab. Librum is native. It opens large PDFs quickly, handles EPUB reflow properly, and supports the format list you would expect (EPUB, PDF, MOBI, and the usual image and text types). Highlights and notes are attached to the book and travel with it when synced. There is a free-books browser built in that pulls public-domain titles, which is nice for testing and occasionally for reading. First released in 2023, it is under GPL-3.0 and available for Windows, macOS and Linux. There is no mobile app, and no e-ink support, which matters more than it sounds and is the main reason a Kindle or Kobo owner should read the last section carefully.

The sync server is a second project, and it shows

The server lives in its own repository (Librum-Server), is deployed with Docker, and needs 512 MB of RAM plus a MariaDB or MySQL database to hold accounts and metadata. Books themselves are stored on disk under a data volume. The compose file the project ships is the right starting point; the parts you must change are the database password, the JWT secret the API signs tokens with, and the SMTP settings, because account confirmation is email-based and a server with no mail configured is one where nobody can sign in. Difficulty is Medium for exactly that reason: the app is easy, the server is a .NET API with a database and mail dependency, and all three have to agree before the first login works.

Once it is up, point the desktop client at your server URL in its settings instead of the public Librum cloud, create an account, and upload a book. The reading position syncs on close and on open; highlights sync with it. It is reliable in my use across two laptops. What it is not is battle-tested at scale, and the project is honest about self-hosting being newer than the hosted service.

What it cannot do that you may assume it can

It cannot serve books to other readers. There is no OPDS feed, so KOReader on a Kobo, Moon+ on Android or the Kindle's send-to-device flow get nothing from it. It cannot import a Calibre library with its metadata intact; you upload files. Multi-user exists in the sense that several accounts can live on one server, but there is no shared library, so a household of three ends up with three copies of the same book. The ecosystem is small: no plugins, no metadata scraping from Google Books or Open Library, and no comic or manga reading mode of the kind Komga and Kavita were built around.

Where it fits against the established options

You wantPick
The nicest desktop reading app, synced across your own laptopsLibrum
A library server that feeds any device over OPDSCalibre-Web
Comics and manga alongside books, with a web readerKavita
A hands-off, Calibre-managed shelf with auto-ingestCalibre-Web-Automated

The honest framing is that Librum competes with the reading app on your laptop, not with the library server in your rack. If you own a Kindle or an e-ink reader, Librum's sync will never reach it, and Calibre-Web with OPDS is the bigger and safer choice. If you read on a laptop and want highlights to follow you, Librum is better at that single job than anything else in the ebooks category.

What I'd do

Keep Calibre-Web as the library everything else pulls from; it already exists on most self-hosters' boxes and it feeds phones and e-readers. Install the Librum desktop app on the machines you actually read on, and stand up Librum-Server in Docker only if you read on more than one computer and care about position sync. Configure SMTP on day one so logins work, back up the MariaDB volume with the same job that backs up everything else, and do not make Librum's server the only copy of any book. Used that way it is a small, pleasant addition to a reading setup, and nothing in it is load-bearing.

Compare Librum

19 head-to-head comparisons.

Similar e-books & media library apps