v0.2 · early release · self-hosted
Most library servers stop at file management. Tome connects to your e-reader, records every reading session, syncs positions both ways, and turns it into stats that get sharper the more you read.

Click any screenshot to zoom · use the theme switcher above to flip every shot.
Continue where you left off, see your streak, glance at what just landed in the library. Built from real reading-session data — not just file metadata.

Other tools document how to set up KOSync. Tome ships a plugin pre-configured with your server URL and a fresh API key — no manual entry, no account, no guessing.
.koplugin into KOReader's plugins folderTime on page, pages turned, device — every reading minute feeds your stats. Plain KOSync only syncs where you stopped.
Open the wrench menu, pick a series, hit "Download rest". Files arrive organised by book-type folder with proper filenames. No OPDS gymnastics.
Read on the couch in the browser, pick up on KOReader in bed, come back to the browser the next morning. Bidirectional. Offline-first — sessions queue and flush when you're back online.
KOSync identifies books by MD5 of the file — edit metadata, re-save, redownload and the sync history orphans. Tome resolves to a canonical book ID. Your reading history survives file changes.
Manga, light novels, multi-volume sagas — Tome groups volumes into arcs, tracks progress per book, and remembers which arc you finished. Status badges show ongoing vs completed.

Streaks, time-of-day heatmaps, reading pace, completion estimates. Every minute on your e-reader feeds back into actionable insight, not vanity metrics.

Tome ships as a PWA. Install it like a native app — sidebar nav, full-bleed reader, sync status in your pocket.



Several self-hosted ebook tools exist — here's where Tome sits.
Pick Calibre-Web for the largest ecosystem. Komga if you're comics-only. Kavita for a featureful all-rounder. Tome if reading-session tracking and KOReader integration are what you actually want.
One Docker image. SQLite under the hood. No external services required.
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