v1.0.0 — Codex
The first stable release. Tome has been in daily use for two months — this tag marks the point where the schema, API, and plugin protocol are stable.
What's in Tome
- TomeSync — a purpose-built KOReader plugin (not a KOSync wrapper). Records reading sessions with page-level granularity, syncs positions bidirectionally between e-reader and web, lets you browse and bulk-download series from the device menu, and works fully offline. No other self-hosted library ships anything like it.
- Reading stats — three tabs of insights built on real session data from your e-reader. Streaks, time-of-day heatmaps, reading pace, completion estimates, author affinity, series completion ladders, library growth.
- Built-in readers — EPUB (foliate-js) with themes, font controls, and CFI position memory. Manga/CBZ with page, webtoon, and spread modes, RTL toggle. PDF via browser.
- Series & arcs — volumes group into series with status badges (ongoing/completed/hiatus) and optional story arcs.
- Metadata from 3 sources — Hardcover, Google Books, and OpenLibrary with a diff UI and cover picker.
- Bindery — drop-folder inbox with manual review or auto-import on a schedule. Content-hash dedup.
- OPDS feed — browse and download from KOReader, Moon+ Reader, Panels, or any OPDS client. Per-user PINs.
- Multi-user — admin / member / guest roles with server-enforced per-book visibility.
- Themes — light, dark, amber, plus fully custom 10-value hex palettes.
- PWA — installable on iOS and Android.
- API tokens — universal-scope
tome_*bearer tokens for every/api/*endpoint. - Scribe (alpha) — Claude Code skill for batch ingest, metadata audits, and series annotation.
Stable surfaces
These are stable as of 1.0 — breaking changes get a major-version bump:
- HTTP API at
/api/* - OPDS feed at
/opds/ - TomeSync KOReader plugin protocol
- Environment variables
- On-disk library layout
Quick start
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:latestOpen http://localhost:8080 and follow the setup wizard.
Links
- Website: https://tome.bndct.sh
- Docs: https://tome.bndct.sh/docs
- Why Tome? https://tome.bndct.sh/why
- Blog: https://tome.bndct.sh/blog/building-a-koreader-plugin