Documentation · Installation · Configuration
A comic & manga server in a single static Rust binary, drop-in compatible with Komga — same API, same database.
kmrs: Keep Manga Reading Simple.
- 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 kmrs - API parity: REST
/api/**, OPDS v1.2/v2, SSE, Kobo sync, and KOReader progress sync — endpoints, DTOs, pagination, error shapes, and authentication behavior match 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
docker run -d \
--name=komga \
--user 1000:1000 \
-p 25600:25600 \
--mount type=bind,source=/path/to/config,target=/config \
--mount type=bind,source=/path/to/data,target=/data \
--restart unless-stopped \
ghcr.io/kmworks/kmrsThe kmweb React web UI (built from webui/ in this repo) is embedded in the binary and served at / out of the box — nothing to configure. Prebuilt binaries (Linux, macOS, Windows; x86_64 and aarch64) are on the releases page; API-only clients like KMReader, KOReader, or Kobo work too.
Full documentation lives at kmworks.date/server:
- Installation — Docker, prebuilt binaries, build from source
- Configuration —
config.tomlkey reference, env vars, precedence - Serving a web UI — bundled web UI, reverse-proxy setups
- Search — analyzer chain, CJK cross-search extensions
- Compatibility and Known limitations
- Development — tests, crate structure, heap profiling
kmrs is under the MIT License. The SQL migration files, the OpenAPI document, and the test fixtures are copied from the komga source tree (see NOTICE); everything else is a rewritten implementation. kmrs is not affiliated with the komga project.