Repolode
bndct-devops

bndct-devops/tome

Self-hosted ebook library server with a built-in reader, KOReader reading sync, OPDS feed, and reading statistics, shipped as one Docker image.

Open-source alternative to:Calibre-WebKomgaKavita

Stars
112
Forks
18
Open issues
3
Last commit
3 days ago

What is it?

Tome is a self-hosted ebook library server built with FastAPI, React, and SQLite. Its main difference from typical library managers is its KOReader integration: a custom TomeSync plugin records reading sessions on the e-reader and syncs positions in both directions between the device and the web interface, including while the device is offline.

The server builds reading statistics from those sessions, covering streaks, time-of-day patterns, reading pace, completion estimates, and a monthly calendar view. Metadata can be fetched from Hardcover, Google Books, and OpenLibrary and compared side by side. Hardcover sync can optionally push ratings, progress, and finish dates to a user's profile.

The built-in reader handles EPUB, CBZ/CBR manga, and PDF in the browser, with two-page spreads, RTL mode, and webtoon scrolling. An OPDS feed lets clients such as KOReader download books, and optional OIDC single sign-on supports providers like Authelia and Keycloak.

Key features

  • 01Records reading sessions from KOReader via the TomeSync plugin and syncs positions both ways.
  • 02Reading statistics including streaks, time-of-day heatmaps, pace, and completion estimates.
  • 03Built-in reader for EPUB, CBZ/CBR, and PDF with two-page and RTL modes.
  • 04OPDS feed for downloading books from e-reader apps.
  • 05Metadata lookup from Hardcover, Google Books, and OpenLibrary with a diff view.
  • 06Optional OIDC single sign-on and role-based access control.

Use cases

  • Running a household ebook library on a NAS or home server with KOReader devices.
  • Tracking reading habits and progress across e-reader and browser.
  • Managing a manga or comic collection with a browser-based reader.
  • Serving an OPDS catalog to e-ink readers on a local network.

Quick start

  1. 1

    Start Tome with Docker (container runs on port 8080)

    docker run -d --name tome --restart unless-stopped -p 8080:8080 -v ./data:/data -v ./books:/books -v ./bindery:/bindery ghcr.io/bndct-devops/tome:latest
  2. 2

    Open http://localhost:8080 and follow the setup wizard to create your admin account

Things to know

  • Requires Docker and a running Tome container; TOME_SECRET_KEY must be set.
  • Full KOReader sync features need KOReader v2024.07 or newer and the custom TomeSync plugin.
  • Some features depend on the Hardcover, Google Books, or OIDC services being configured.
  • Licensed under AGPL-3.0, a copyleft license with network-use obligations.

In collections

Topics

#ebook#self-hosted#koreader#opds#reading-stats#epub#manga#docker#cbz#comicinfo

FAQ

What is tome?
Self-hosted ebook library server with a built-in reader, KOReader reading sync, OPDS feed, and reading statistics, shipped as one Docker image. Tome is a self-hosted ebook library server built with FastAPI, React, and SQLite. Its main difference from typical library managers is its KOReader integration: a custom TomeSync plugin records reading sessions on the e-reader and syncs positions in both directions between the device and the web interface, including while the device is offline.
Is tome free to use? What license does it have?
tome is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
Is tome still maintained?
Actively maintained. The last commit to tome was on Nov 3, 2026.
What can I use tome for?
Running a household ebook library on a NAS or home server with KOReader devices. Tracking reading habits and progress across e-reader and browser. Managing a manga or comic collection with a browser-based reader. Serving an OPDS catalog to e-ink readers on a local network.
How do I install tome?
Start Tome with Docker (container runs on port 8080): docker run -d --name tome --restart unless-stopped -p 8080:8080 -v ./data:/data -v ./books:/books -v ./bindery:/bindery ghcr.io/bndct-devops/tome:latest Open http://localhost:8080 and follow the setup wizard to create your admin account
Where can I get tome?
The source code and installation instructions are on GitHub: https://github.com/bndct-devops/tome

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects