Introduction
Komga is a media server for comics, manga, BD (bandes dessinees), and digital books. It scans your existing library of CBZ, CBR, PDF, and EPUB files, extracts metadata, and serves them through a clean web-based reader. It also exposes an OPDS feed so you can read your collection with any compatible mobile or desktop app.
What Komga Does
- Scans local directories for comic and manga files in CBZ, CBR, PDF, and EPUB formats
- Extracts and displays metadata from ComicInfo.xml and embedded file information
- Provides a built-in web reader with page navigation, zoom, and reading progress tracking
- Serves content via OPDS protocol for compatibility with third-party reading applications
- Manages multi-user access with per-library permissions and reading progress per user
Architecture Overview
Komga is a Kotlin application running on the JVM with Spring Boot. It uses an embedded H2 database by default (with optional SQLite support) to store library metadata, user data, and reading progress. The back end scans the filesystem, parses archive files, and extracts embedded metadata. The front end is a Vue.js single-page application. Content is served via a REST API that also powers the OPDS feed.
Self-Hosting & Configuration
- Runs as a single Docker container or standalone JAR with Java 17+
- Mount your comics directory as a Docker volume and add it as a library in the web UI
- Configure server port, database location, and scan intervals in application.yml
- Set up users and library-level access permissions through the admin interface
- Supports reverse proxy deployment with proper base URL configuration
Key Features
- Web-based comic reader with webtoon (continuous scroll) and paged reading modes
- Automatic metadata parsing from ComicInfo.xml, EPUB metadata, and filename patterns
- Read lists and collections for organizing series across different libraries
- Duplicate file detection and library health checks
- REST API with Swagger documentation for automation and custom integrations
Comparison with Similar Tools
- Kavita — Similar feature set with broader format support (light novels), different UI philosophy
- Calibre-Web — Focused on ebooks with Calibre database, less suited for comics and manga
- Ubooquity — Older Java-based alternative, fewer features and less active development
- Mylar3 — Comic download manager, not a reader or server; complementary to Komga
- Tachiyomi/Mihon — Mobile manga reader that can use Komga as a source via OPDS
FAQ
Q: What file formats does Komga support? A: Komga supports CBZ, CBR, PDF, and EPUB files. CBZ is recommended for best compatibility and performance since it is a simple ZIP archive of images.
Q: Can I read my comics on a tablet or phone? A: Yes. The web UI is responsive and works on mobile browsers. You can also use OPDS-compatible apps like Panels (iOS), Tachiyomi/Mihon (Android), or Chunky Reader.
Q: How does Komga handle manga reading direction? A: Komga supports both left-to-right and right-to-left reading directions. It can detect the reading direction from metadata or you can set it manually per series.
Q: Does Komga support multiple users? A: Yes. Each user has their own reading progress, bookmarks, and library access permissions. An admin user manages accounts and library visibility.