Skip to main content

Features

Read your files

  • Browser readers for EPUB, PDF, MOBI/AZW/AZW3, and comics (CBZ/CBR). KFX is download-only.
  • Audiobooks via HTML5 audio with range streaming. Multi-file folders merge into one book with track-aware resume.
  • Comic modes: dual-page spread, fit options, RTL/manga direction, bookmarks.
  • Reading tools: EPUB bookmarks and highlights, reading-time stats, synced EPUB font/theme/spacing prefs.
  • PWA: install to home screen. Service worker stays update-safe and does not cache API responses.

Narration with Kokoro

  • Listen to EPUBs with in-browser Kokoro TTS (ONNX Runtime Web WASM, q8 weights) when WebAssembly is available. The full release binary embeds the runtime, model, and voices; the slim binary (athenaeum-slim-*) leaves that stack out.
  • Fall back to the browser SpeechSynthesis voice if needed.
  • Optional Kokoro sidecar for server-side TTS (docker compose --profile kokoro). Works with full and slim binaries. Configure under Settings -> Administration -> Narration (TTS).

Details: Library and readers and Deploying.

  • Concurrent scan, incremental indexing, SQLite FTS5 search (optional PostgreSQL tsvector). WAL mode and paginated browsing for large libraries.
  • Manual shelves, smart collections, and auto shelves after scan (Recently Added, By Author).
  • Continue reading, tags, 1-5 star ratings, favorites.
  • Multiple library mounts: local folders or MinIO-compatible S3. Per-user mount access for non-admins.
  • Optional EPUB full-text content index (admin job).
  • Resumable chunked uploads with SHA-256 duplicate detection.
  • Metadata edit, external metadata search/apply (including Crossref, arXiv, PubMed), citation fields, BibTeX import/export, optional format conversion.

Catalogs and sharing

  • OPDS 1.2 at /opds/ and OPDS 2 at /opds/v2/ for e-reader apps.
  • KOSync progress sync at /kosync/.
  • Public share download links.
  • SMTP send-to-email / Kindle.

See OPDS and KOSync and Library and readers.

Users and access

  • Optional auth: first-run wizard or CLI/env bootstrap.
  • Sessions, profiles, password policy, audit log, guest accounts with expiry.
  • Invites (permanent or guest), optional SMTP and Pocket ID passkey provisioning.
  • TOTP 2FA, optional self-registration, OIDC and admin groups.
  • Optional ALTCHA proof-of-work on login and setup.
  • Admin webhooks for user, invite, upload, and scan events (HMAC + delivery log).

See Authentication.

Operations

  • Single binary with embedded Svelte UI (optional --web-dir for a disk SPA). Releases also publish a slim binary without in-browser Kokoro WASM.
  • Docker Compose, ./install.sh, and host units (systemd, OpenRC, runit, dinit, s6).
  • Prometheus /metrics (admin toggle, optional Basic Auth), extended health.
  • Admin backup/restore zip, JSON config export/import.
  • Optional Sentry / GlitchTip.
  • Release binaries across Linux, macOS, Windows, and BSD. Multi-arch GHCR image.

See Operations and Deploying.

Tech stack

LayerTechnology
BackendGo (net/http, go:embed), SQLite (modernc), optional PostgreSQL (pgx)
SearchSQLite FTS5 or PostgreSQL tsvector/GIN
Authbcrypt sessions
FrontendSvelte 5, TypeScript, Tailwind CSS v4, Vite, pnpm, PWA
Icons@lucide/svelte
Readersepub.js, pdf.js, HTML5 audio
NarrationKokoro (in-browser or sidecar), SpeechSynthesis
ErrorsSentry / GlitchTip
ToolingTask, Vitest, Playwright, ESLint, Prettier, golangci-lint, GitHub Actions