Your manga folder is 400 GB of CBZ files on a NAS. Your Kindle library lives in Amazon. Your partner asks to borrow volume 12 and you email a zip link like it's 2009.
Kavita (Kareadita/Kavita) is a self-hosted reading server for people who actually own the files. ~11.9k GitHub stars, GPLv3, and one app that handles comics (CBR/CBZ, archives, image folders), webtoons, EPUBs, and PDFs with readers that work on phone, tablet, and desktop without installing a separate client for every format.
What it actually does
Kavita scans libraries on disk, builds a browsable catalog, and serves in-browser readers tuned for each medium: paged comics, continuous webtoon scroll, EPUB with virtual pages, PDF when you need it.
Multi-user and roles. Create accounts for family or friends, set age restrictions, control who can download, and wire OIDC if you already run Authentik or similar. This is a household media server, not a public pirate bay — permissions matter.
Organization that scales. Collections, reading lists, want-to-read queues, smart filters on metadata. Import Comic Book Lister (CBL) lists if you are migrating from another tool. Customize the dashboard and side nav so your unfinished series sit where you will actually click them.
Metadata and polish. Base Kavita handles local libraries well. Kavita+ (paid subscription to the lead dev) adds internet-backed metadata, scrobbling, recommendations, and other features that need external APIs. Self-hosting stays free; the plus tier funds full-time development.
The project is actively developed (still described as beta toward 1.0 in their README — read release notes before you auto-update production). Themes live in a community repo if you want the UI to match your homelab aesthetic.
Kavita vs Audiobookshelf vs Komga
We covered Audiobookshelf for audiobooks and podcasts. Different job:
- Kavita — visual reading (manga, comics, EPUB, PDF), webtoon modes, comic-centric metadata. The default for "I have folders of CBZ and EPUB."
- Audiobookshelf — spoken audio, chapters, podcast feeds, progress sync for listeners.
- Komga — another strong manga/comic server (not blogged here yet). Kavita tends to win on EPUB/PDF and dashboard polish; Komga fans often prefer its simpler comic-first UX. Try both on a test library before you import six terabytes.
Run Kavita plus Audiobookshelf on the same box if your household reads and listens — just give each its own library path and RAM headroom.
Why self-host?
You bought the media. Purchased digital comics, Humble bundles, and DRM-free EPUBs belong on your disk, not a storefront account that can change terms.
Share without shipping files. Family on the same Kavita instance borrows from your library with their own progress markers instead of duplicate copies everywhere.
Canadian hosting option. Library metadata and files stay on a VPS or NAS you control — relevant when you would rather not sync reading history to a US cloud reader.
No per-title SaaS. Storage is the real cost. Once the server is sized, adding users is mostly CPU and bandwidth for page loads.
What running it takes
Docker is the common path (official image jvmilazz0/kavita on Docker Hub — check the wiki for current tags):
docker run -d --name kavita -p 5000:5000 \
-v /path/to/manga:/manga \
-v /path/to/kavita/config:/kavita/config \
--restart unless-stopped \
jvmilazz0/kavita
Map your library folders in the UI after first login. Put TLS in front with nginx or Caddy if you expose it outside the LAN. Plan 2 GB RAM minimum for comfortable browsing; large libraries benefit from fast disk for scanning and thumbnails.
Back up the config volume and, obviously, the media. A rescan after upgrade is less painful than losing reading progress.
Who it's for (and who should skip it)
Good fit: manga and comic collectors, EPUB hoarders, families sharing one legal library, self-hosters who want one reader for multiple formats.
Maybe skip it: you only read Kindle cloud (stay in Amazon), you need audiobook-first workflow (Audiobookshelf), or you refuse to run GPLv3 software on principle.
Hosting it in Canada
Kavita is a steady Docker workload: modest CPU, disk-heavy libraries, occasional bandwidth spikes when someone binge-reads on mobile data through your reverse proxy.
Tell us your library size and we will help size storage and backups before you point Kavita at a multi-terabyte mount.