Your books, your hardware.
A self-hosted audiobook and ebook library. Word-level audio-text sync, AI question-answering over your library, and cross-device playback — running on a server you control. We don't have your books. We can't lose them, change them, or take them away.
What it does
You own this
Open-source server (AGPL-3.0). Open file format. Open relay. Pick your own tunnel — NullBore, Tailscale, Cloudflare, or none at all.
Word-level karaoke
See each word highlighted as it's narrated. Tap to seek.
Audio↔text alignment
Match an audiobook to its ebook and read along, switching modes mid-chapter. A coverage score tells you how well the two actually line up — both how much of the recording is backed by text and how much of the book is narrated.
Ask your books
Q&A grounded in your library, with citations to the exact passage and audio timestamp. Scope a conversation to where you've read so the answers don't spoil what's ahead. Bring your own key.
Catch up without spoilers
A short "story so far" recap and per-chapter summaries, bounded to your current position — nothing past where you are.
Cast of characters
A per-book list of who's who, pulled from the text. Experimental — it's good at recall but can over-split names, so it's labelled as such everywhere it appears.
Cross-device sync
Web, iPhone, Android. Pick up where you left off on any device. The app remembers several servers, so one offline tunnel isn't a dead end.
Generate or import
Open-source TTS for ebook-to-audio. Whisper for audio-to-text, with optional GPU acceleration. Or just import what you already own.
Reading along, even across translations
Matching a spoken recording to a written book is the hard part, and we do it two ways depending on how closely the two actually correspond. When the audiobook and the ebook are the same edition, an anchor aligner locks them together word for word — that's what drives word-level karaoke, each word lighting up as it's narrated. When they diverge — a different translation, an abridgement, a looser reading — we match by meaning instead, using text embeddings and dynamic time warping to line up passages that say the same thing in different words. That gives a paragraph-level follow-along.
We pick the method by how well the two texts actually line up, and when they barely line up we say so rather than fake a precision that isn't there. The result is a ready-to-play timeline, so the reader can offer a simple choice: follow the exact words being narrated, or read the same passage in a translation you prefer.
Remote access, your choice
When you're away from home and your server's behind a router, you need a tunnel. Abookify doesn't care which one — the mobile app just takes a URL. Use NullBore (an open-source tunnel we integrate with), Tailscale, Cloudflare Tunnel, WireGuard, or a plain port forward. Nothing locks you in.
If you'd like one less thing to set up, paid app subscribers get a free hosted NullBore tunnel provisioned automatically. It's a convenience, not a requirement.
How you run it
Today, Abookify runs as a set of containers via Docker Compose — the server plus the local speech engines (Whisper for transcription, Kokoro for text-to-speech). One config file, no accounts, nothing leaves your machine. The setup guide walks a technical self-hoster through install, adding a library, remote access, and optional password protection.
A one-click desktop app is in development. It bundles the server and a self-contained ML engine — with optional GPU acceleration — and runs them in the background, so there's no Docker and no terminal to set up. It's the same software underneath; the app just manages it for you. Linux builds come first, with macOS and Windows to follow.
Open source
The server is open source under AGPL-3.0 — read it, audit it, fork it, run it on your own hardware. Same goes for the relay integration code and the file format itself.
- abookify-server — the server (Go, AGPL-3.0)
- abookify-relay — relay setup + multi-tunnel docs (AGPL-3.0)
- abook-format — the .abook file format spec (CC BY-SA 4.0)
Self-hosting a product means trusting the software that runs on your hardware. We think you should be able to verify what it does.
Status
Abookify is in active development. The server, web interface, and CLI tools are functional today, with word-level sync, alignment, Q&A, and TTS/STT all working. The mobile app is in field testing ahead of TestFlight. The desktop app and a few features marked experimental in the app (like the cast-of-characters extractor) are still maturing. We'd rather ship honestly than overstate where things are.
Get in touch
Questions, feedback, or partnership inquiries: [email protected]