KMServer is a drop-in, API-compatible reimplementation of the Komga comic/manga server in Rust, distributed as the kmrs binary: a single static executable.
The name: Keep Manga Reading Simple.
Features
- Drop-in replacement for
gotson/komga: same port (25600), same/configand/datamounts, sameKOMGA_*environment variables - Data-level compatibility: opens and upgrades existing komga data directories (
database.sqlite,tasks.sqlite) in place, and the Java version can still open libraries written by KMServer - API parity: REST
/api/**, OPDS v1.2/v2, SSE, Kobo sync, and KOReader progress sync, with endpoints, DTOs, pagination, error shapes, and authentication behavior matching the Java version - Verified against the Java version: byte-for-byte Flyway migrations, a differential test harness comparing ~105 endpoints against a live Java instance, and schema contract tests
Enhancements
On top of drop-in compatibility, KMServer adds improvements the Java version does not have:
- Search: simplified ↔ traditional Chinese cross-search and CJK boundary unigrams (e.g.
3月matches3月的狮子). See Search. - Sorting: natural sort of numbered titles (“Page 2” < “Page 10”) with a configurable ICU locale (
server.sort-locale). The full list: Enhancements.
Migrating from Komga
Already running the Java version? The Migration guide keeps your library, database, and clients.