Calibre

Powerful ebook library manager with a built-in server

E-books & Media Library ★ 26k stars Easy setup GPL-3.0

Calibre is a comprehensive ebook management application for organizing, converting, and reading digital books. Its built-in content server lets you browse and download your library from any device over the network.

Key features

  • Ebook library management
  • Format conversion
  • Built-in content server
  • Extensive plugin ecosystem

Pros & cons

Strengths

  • Industry-standard ebook tool
  • Huge feature set

Trade-offs

  • Desktop UI feels dated
  • Server is basic without add-ons

Calibre replaces

Last reviewed Aug 26, 2026 · 812 words

The single most common way people wreck a Calibre library is running two writers against it: the desktop app on a laptop and Calibre-Web on a server, both editing the same metadata.db over a network share. Calibre's own documentation tells you not to, SQLite over SMB or NFS tells you not to, and the corruption shows up weeks later as books that exist on disk but not in the catalogue. Decide on one writer before you decide anything else. Everything else about self-hosting Calibre, a 20-year-old GPL project with 25,725 stars and the best ebook conversion engine anywhere, follows from that rule.

The library is a folder, and the folder is the product

A Calibre library is a directory tree of Author/Title (id)/ folders with the book files inside, plus metadata.db at the root, which is a plain SQLite database holding titles, tags, series, ratings, and custom columns. That layout is what makes Calibre trustworthy: with no Calibre at all you still have readable files in sensible folders, and the database can be rebuilt from the embedded metadata and OPF files. Back the folder up as a unit with something like Restic, never just the database, and do not sync it with a file-sync tool while Calibre is open on either end.

The built-in server does more than people expect

calibre-server --port 8080 --enable-auth --userdb /srv/calibre/users.sqlite /srv/calibre/library runs the content server without the desktop at all. It serves a browsable catalogue, an in-browser reader with position sync, OPDS feeds that Kindle-alternative apps such as KOReader and Moon+ consume directly, and, since the 2019 series of releases, metadata editing and book uploads from the web interface. Add a user with calibre-server --manage-users first, put it behind a reverse proxy with TLS, and it is a complete family ebook server on 512 MB of RAM. The catalogue calls the server basic without add-ons; that was truer a few years ago. It is plain rather than basic.

Docker: run the desktop headlessly, or run only the server

The linuxserver/calibre image ships the full desktop application inside a browser-accessible VNC session on port 8080 and the content server on 8081. That gives you the real Calibre, with conversion, metadata fetching, and plugins, on a server with no monitor, which is the setup I run:

services:
  calibre:
    image: lscr.io/linuxserver/calibre:latest
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
    volumes:
      - ./config:/config
      - /srv/books:/books
    ports:
      - "8080:8080"
      - "8081:8081"
    restart: unless-stopped

If you only want the server, calibre-server from the distribution package or the same image with a custom command is lighter. Either way, the library lives on local disk in the container's host, not on a network share.

Calibre-Web and Kavita are front ends, not replacements

Calibre-Web reads a Calibre library and gives it a modern interface, per-user shelves, Kobo sync, and send-to-Kindle. It is excellent and it is the second writer from the first paragraph: point it at a library and enable editing, and it writes to metadata.db. The safe patterns are to make Calibre-Web the only writer (do all metadata work there, never open the desktop on that library), or to run the desktop as the only writer and Calibre-Web in read-only mode. Kavita takes a different approach and indexes folders on its own, ignoring Calibre's database entirely, which suits comics and manga better and sidesteps the whole conflict at the cost of losing Calibre's metadata. The wider ebooks category has the trade-offs across all of these.

Conversion and the DRM question

ebook-convert in.epub out.azw3 is the command everyone ends up using, and it handles the awkward cases (PDF to reflowable text, MOBI from a decade-old Kindle, comic archives to EPUB) as well as anything paid. Calibre will not remove DRM; a third-party plugin exists and its legality depends on where you live and what you do with the result. What Calibre does reliably is turn a legally bought, DRM-free EPUB into a file every device you own can read, and it does that better than the store the book came from.

What I'd do

One library on local disk, the linuxserver image so the desktop runs on the server, content server on 8081 behind Caddy with authentication on, Calibre-Web in front only if the family wants a prettier shelf, and then in read-only mode. Nightly Restic backup of the whole library folder. Never open the same library from a laptop over SMB. Follow that and Calibre will outlast every device you send books to.

Compare Calibre

17 head-to-head comparisons.

Similar e-books & media library apps