kmrs
kmrs es una reescritura de Komga en Rust con compatibilidad API y datos drop-in, eliminando la dependencia de JVM. Incluye UI web (kmweb) en Docker y ofrece mejoras de búsqueda CJK. Compatible con Komga 1.27.0, usa Flyway para migraciones idénticas y tiene pruebas diferenciales contra Java.
Ficha actualizada 22 sept 2026, 14:41 · upstream 22 sept 2026, 14:35 · release v0.8.4
Qué es kmrs
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
kmrs es una reescritura completa del servidor de cómics/manga Komga en Rust, diseñada como sustituto drop-in que mantiene la compatibilidad con el formato de datos y comportamiento de API de la versión original en Java. Elimina la necesidad de JVM, ofreciendo un binario estático único que puede ejecutarse directamente o empaquetado en imágenes Docker multiplataforma (linux/amd64, linux/arm64). La imagen oficial incluye kmweb, una interfaz web React servida por defecto en el puerto 25600, mientras que el binario standalone requiere un cliente compatible como KMReader o KOReader.
La implementación mantiene compatibilidad a nivel de datos, abriendo y actualizando directorios existentes de Komga in situ (database.sqlite, tasks.sqlite), permitiendo incluso que la versión Java lea bibliotecas escritas por kmrs. La API REST, OPDS v1.2/v2, SSE, sincronización Kobo y KOReader coinciden en endpoints, DTOs, paginación y autenticación con la versión Java original. Se verificó byte-a-byte contra Komga 1.27.0 mediante pruebas diferenciales de ~105 endpoints y migraciones Flyway idénticas.
kmrs introduce mejoras no presentes en Komga Java, como búsqueda simplificada entre chino tradicional/simplificado y unigramas de límites CJK (ej: `3月` coincide con `3月的狮子`). La arquitectura modular incluye crates para modelo de dominio, base de datos con migraciones Flyway compatibles, pipeline de medios, índice Tantivy y capa HTTP con axum. El código fuente permite perfiles de memoria con jemalloc y herramientas de análisis como jeprof.
- Migrar de Komga Java a Rust sin perder datos ni configuración
- Autoalojar servidor de cómics/manga en entornos sin JVM (Rust-only)
- Usar kmweb como UI web integrada en Docker para gestión de biblioteca
- Sincronizar progreso de lectura con KOReader o Kobo desde kmrs
- Implementar búsqueda avanzada CJK en bibliotecas multilingües
- Compatibilidad API y datos drop-in con Komga 1.27.0 (mismos endpoints, DTOs, autenticación)
- Migraciones Flyway idénticas a nivel de bytes para compatibilidad con Java
- Mejoras de búsqueda CJK (tradicional/simplificado) no presentes en Komga Java
- Imagen Docker multiplataforma con kmweb integrado y libpdfium incluido
- Perfilado de memoria con jemalloc y jeprof para análisis de rendimiento
- No decodifica JXL/HEIF/JPEG2000 (solo lectura, falla en conversión)
- PDF requiere libpdfium externo (no incluido en binario standalone)
- JPEG no byte-identico a ImageIO (afecta comparaciones de hashes)
- Lucene fuzzy (~) y phrase-slop (~N) no soportados
- BCP47 aliases obsoletos no normalizados para bibliotecas pre-2023-08
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Usar imagen Docker `ghcr.io/kmworks/kmrs` con mounts `/config` y `/data`. Para binario standalone, usar `cargo build --release -p komga-server`. Port 25600. Desactivar UI web con `KOMGA_WEBUI_DIR=` vacío. PDF requiere libpdfium en `KOMGA_PDFIUM_PATH`. Verificar compatibilidad con Komga 1.27.0 para migraciones.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.