Deploy Kavita | Your Private Digital Library Server
Self-host Kavita on Railway — read manga, comics, and ebooks
Kavita
Just deployed
/kavita/config

Deploy and Host Kavita on Railway
Deploy Kavita on Railway to get a fast, self-hosted digital library server for manga, comics, and ebooks — accessible from any browser or OPDS-compatible reader app. Run Kavita on Railway without provisioning servers, managing TLS certificates, or writing Docker configuration files. This template deploys the official jvmilazz0/kavita:latest image with persistent storage for your library data, metadata, and reading progress.
Kavita is an open-source reading server (GPL-3.0) by Kareadita that handles manga, webtoons, comics (CBR, CBZ, ZIP, RAR, 7zip), and ebooks (EPUB, PDF) through purpose-built readers optimized for each format. Self-host Kavita to keep your reading library private, synced across devices, and under your full control. Source code: Kareadita/Kavita on GitHub (10.4k stars).
Getting Started with Kavita on Railway
After deployment completes, open your Railway-generated public URL. Kavita presents a first-time setup wizard where you create an admin account with a strong password. No default credentials are shipped — you set everything from scratch.
Once logged in, add a library by navigating to Server Settings > Libraries > Add Library. Select a library type (Manga, Comic, or Book) and point it to a folder under /kavita/config/library. Kavita scans the directory, extracts metadata and covers, and populates your dashboard. You can upload files directly through the web UI or use Kavita's built-in download features.
Railway enforces a one-volume-per-service rule, so all persistent data — the SQLite database, cover cache, logs, backups, and your library files — lives under the single /kavita/config mount. Organize your content in subdirectories like /kavita/config/library/manga and /kavita/config/library/books.

About Hosting Kavita
Kavita is purpose-built for reading digital media in the browser. Unlike general file servers, it provides format-specific readers with features tailored to how people actually consume manga, comics, and books.
- Manga and webtoon reader with continuous scroll, single-page, and dual-page spread modes
- Comic reader for CBR/CBZ/ZIP/RAR/7zip archives with page-level navigation
- EPUB reader with annotation support and Obsidian export
- PDF viewer with full rendering and search
- OPDS support for third-party apps like KOReader, Panels, and Chunky
- User management with per-library access control and age restrictions
- OIDC authentication for SSO integration alongside built-in auth
- Folder watching — automatically detects new files and updates libraries
- Full-text search across titles, authors, tags, and file contents
- Reading progress sync across all devices per user
Why Deploy Kavita on Railway
- One-click deploy with persistent volume — no Docker or server setup needed
- Automatic HTTPS on your public domain
- Railway handles container orchestration, networking, and TLS termination
- Scale CPU and RAM on demand as your library grows
- Built-in deploy rollbacks and health monitoring
Common Use Cases for Kavita
- Personal manga library — Organize thousands of chapters across series with automatic metadata extraction and cover generation
- Family reading server — Create individual accounts with different library access, age ratings, and independent reading progress
- Comic book collection — Browse and read CBR/CBZ archives with a responsive reader that supports page-level bookmarks
- Ebook library with annotations — Read EPUBs in the browser, highlight passages, and export annotations to Obsidian
- OPDS feed for mobile readers — Serve content to KOReader, Panels, Chunky, or any OPDS-compatible app
Dependencies for Kavita on Railway
This template deploys a single service with an embedded SQLite database — no external database required.
- Kavita —
jvmilazz0/kavita:latest(official Docker image, ~238 MB) - Volume — Mounted at
/kavita/configfor SQLite database, library files, covers, logs, and backups
Environment Variables Reference for Kavita
| Variable | Value | Description |
|---|---|---|
PORT | 5000 | HTTP server listening port |
TZ | Etc/UTC | Timezone for logs and scheduled tasks |
RAILWAY_RUN_UID | 0 | Run as root for volume permissions |
Deployment Dependencies for Kavita
- Runtime: .NET 8 (bundled in Docker image)
- Database: SQLite (embedded, no external service)
- Docker image: jvmilazz0/kavita on Docker Hub
- Source code: Kareadita/Kavita on GitHub (10.4k stars, GPL-3.0)
- Docs: Kavita Wiki
Hardware Requirements for Self-Hosting Kavita
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 1 vCPU | 2 vCPU |
| RAM | 512 MB | 1-2 GB (for libraries with 5,000+ files) |
| Storage | 100 MB (app) + library size | Depends on collection |
| Network | Standard HTTP | HTTPS recommended |
Kavita is lightweight at idle but uses more CPU during library scans — especially when generating covers and extracting metadata from large comic archives. RAM usage scales with the number of concurrent readers and library size.
Self-Hosting Kavita with Docker
Pull and run the official image directly:
docker run -d \
--name=kavita \
-p 5000:5000 \
-v /path/to/manga:/manga \
-v /path/to/config:/kavita/config \
--restart unless-stopped \
jvmilazz0/kavita:latest
Or use Docker Compose for a more maintainable setup:
version: "3"
services:
kavita:
image: jvmilazz0/kavita:latest
container_name: kavita
environment:
- TZ=Etc/UTC
volumes:
- ./config:/kavita/config
- ./manga:/manga
- ./books:/books
ports:
- 5000:5000
restart: unless-stopped
Point your library directories to wherever your manga, comics, or ebooks are stored. Kavita auto-detects file types and applies the correct reader.
How Much Does Kavita Cost to Self-Host?
Kavita's core application is completely free and open-source under GPL-3.0. There are no paywalled features in the self-hosted server itself.
An optional Kavita+ subscription ($4/month) adds AniList and MyAnimeList sync, external ratings, automatic metadata retrieval from online sources, and personalized recommendations. Kavita+ is not required for any core functionality — it enhances metadata and tracking for users who want integration with anime/manga databases.
When hosting on Railway, your cost is Railway infrastructure only — typically $5-7/month for a small-to-medium library with light traffic. Storage costs scale with your library size.
Frequently Asked Questions About Self-Hosting Kavita
What is Kavita and how does it compare to other reading servers? Kavita is a self-hosted digital library server optimized for manga, comics, and ebooks. Unlike Calibre-Web (which requires a Calibre desktop database), Kavita is folder-based — drop files into a directory and it handles metadata extraction, cover generation, and organization automatically. It supports more comic formats than Calibre-Web and has purpose-built readers for each media type.
What file formats does Kavita support for self-hosted libraries? Kavita supports manga and comics in CBR, CBZ, ZIP, RAR, RAR5, 7zip formats and raw image folders. For ebooks, it handles EPUB and PDF. Webtoons are supported through long-strip image sequences. Each format gets a dedicated reader optimized for that media type.
How do I add books and manga to Kavita deployed on Railway?
On Railway, your content lives under /kavita/config/library. You can upload files through Kavita's web UI, use the OPDS feed with compatible apps, or manage files via Railway's volume access. Create subdirectories for each library type (manga, comics, books) and configure library paths in Server Settings.
Does self-hosted Kavita support multiple users with separate reading progress? Yes. Kavita has built-in user management with per-library access control, age restrictions, and independent reading progress tracking. Each user gets their own "want to read" lists, bookmarks, and reading history. Authentication supports both built-in accounts and OIDC/SSO providers.
Can I use Kavita with OPDS reader apps on mobile devices? Yes. Kavita exposes an OPDS feed that works with apps like KOReader, Panels, Chunky, and other OPDS-compatible readers. Users authenticate with their Kavita credentials and can browse, search, and download content directly from mobile apps.
Kavita vs Calibre-Web
| Feature | Kavita | Calibre-Web |
|---|---|---|
| Best for | Manga + comics + ebooks | Ebooks (EPUB, PDF, MOBI) |
| Library system | Folder-based (auto-scan) | Calibre metadata.db required |
| Built-in readers | EPUB, PDF, CBR/CBZ, webtoon | EPUB, PDF |
| Comic/manga support | Native (CBR, CBZ, RAR, 7zip) | Limited |
| OPDS support | Yes | Yes |
| Kobo sync | No | Yes (native) |
| Send-to-Kindle | No | Yes (email) |
| User management | Multi-user with OIDC | Multi-user with LDAP/OAuth |
| Annotations | EPUB highlights + Obsidian export | Basic bookmarks |
| GitHub stars | 10.4k | 17k+ |
| License | GPL-3.0 | GPL-3.0 |
Kavita is the stronger choice for manga and comic collections with its format-specific readers and folder-based library management. Calibre-Web is better suited for prose ebook libraries, especially if you already use Calibre desktop for metadata management.
Template Content
Kavita
jvmilazz0/kavita:latest