Self-hosted · Open source · AGPL-3.0

Your books
deserve a home.

A private library for every book you own. EPUB, PDF, comics, audiobooks — organised, readable, and fully yours. No cloud. No subscription. No compromises.

No account required · runs on any server · Kobo & KOReader sync

The Cartographers of Dusk
Instruments
The Pigeon Courier
The Unmade Bed
Slow Weather
Below the Watermark
A History
Unbound
Field Notes
Seventeen Winters
The Salt Ledger
Household Gods
Radio Static
Orchard
Tidewater
Almanac for the Sleepless
The Glass Apiary
Letters
5+
Format families
EPUB, PDF, CBZ/CBR, audiobook, MOBI
4
Metadata sources
Google Books, Open Library, Amazon, embedded
3
Auth methods
Local JWT, OIDC, reverse-proxy headers
1×
Container
Single Docker image, zero external services

Everything a reading library should be.

Not a sync service you tolerate. A home you actually want to use.

Built-in readers

PDF, EPUB, CBX, and audiobook readers — all in the browser. Custom fonts, theme and layout preferences saved per user.

Rich metadata

Auto-fetch covers, descriptions, series info, and ratings from Google Books, Open Library, and Amazon. Edit everything manually.

Magic shelves

Rule-based dynamic shelves that auto-populate: "Essays, rated 4★+" or "Unread, added this year". They update themselves.

BookDrop ingest

Watch a folder. Drop files in. embookshelf detects, extracts metadata, fetches covers, and queues them for your review.

Device sync

Full Kobo sync — library, progress, shelves, and thumbnails. KOReader progress sync. OPDS for anything else.

Multi-user

Per-user shelves, reading progress, annotations, and preferences. Admin and user roles. OIDC for your home IdP.

Every format
you actually have.

Most digital libraries are EPUB-centric. embookshelf treats every format as first-class, with a dedicated reader and metadata extractor for each.

· · ·
EPUBEPUB 2 & 3Custom fonts · reflowable
PDFPDFpdf.js · per-page canvas
MOBIMOBI · AZW3 · FB2Metadata extraction
CBZCBZ · CBR · CB7ComicInfo.xml · manga mode
M4BMP3 · M4A · M4BChapter nav · playback speed

A reading experience that respects the text.

The embookshelf reader uses Literata — commissioned for Google Play Books — as its default reading face. Margins, line height, font size, and theme are saved per-user.

  • Drop cap, hanging punctuation, justified text
  • Table of contents sidebar, bookmarks, highlights
  • Chrome fades after 2 seconds — text only
  • Reading session tracking, time estimates
embookshelf.local/read/b1
Chapter Seven
The Mapmaker's Return

The village had not been on any of her grandfather's maps. Ellen could not at first decide whether this was because he had missed it, or because it had not yet existed when he last passed through.

She walked down what she took to be the main street, pulling her coat around her. It was not yet evening but the light had already begun to fail in the way it did only this far north.

"You'll be the one looking for the house," a woman said from behind her.

p.138
33%

On your server,
in five minutes.

One Docker image. Point it at your book directory. Open your browser. That's it. No external services, no account, no telemetry unless you opt in.

Docker Compose
Recommended · single container
Kubernetes
Helm chart provided
Podman
Rootless containers
Bare metal
Single binary, MariaDB
compose.yml
# Minimum working config
services:
  embookshelf:
    image: ghcr.io/embookshelf/embookshelf
    ports: ["6060:6060"]
    volumes:
      - ./books:/books
      - ./data:/app/data
    environment:
      DISK_TYPE: LOCAL
      DATABASE_URL: sqlite:///app/data/db

# docker compose up -d
# Open http://localhost:6060
Minimum 512 MB RAM. Recommended 1 GB+ for large libraries.

Reads on every device,
progress everywhere.

embookshelf speaks the protocols your devices already understand.

Kobo
Full sync — library, progress, shelves, thumbnails
KOReader
Reading progress sync
OPDS
Moon+, FBReader, Aldiko, Marvin
Hardcover
Reading status & wishlist
"Reading is the activity. Managing is the overhead. The UI should feel like the activity."
embookshelf Design PRD · 2026

Ready to shelve
your collection?

Open source. Self-hosted. AGPL-3.0. Your data stays on your server.

booklore/embookshelf · docker pull ghcr.io/embookshelf/embookshelf