Important
⬆️ You can upgrade directly from Kaizoku.Net to Rensaiō. No changes are required on your side: simply run the new executable or update your Docker image, and everything will be upgraded automatically.
Nevertheless, before upgrading, make sure to back up your config directory, including your database. Since the devil never rests.
Rensaiō is a series manager that prioritizes simplicity, speed, and reliability.
It uses the power of MIHON extensions to connect with multiple sources.
-
🧙♂️ Startup Wizard
Automatically imports your existing library. -
🔁 Temporary vs Permanent Sources
- Chapters are only downloaded from temporary sources when there is no permanent sources
- Auto-deleted if a permanent source later provides them.
-
🔎 Multi-Search & Multi-Linking
Search and link one series to multiple sources/providers. -
📥 Automatic Downloads
Everyting is automatic, Retries, Reschedules. With a dedicated download Page.
-
🔄 Auto-Updates
Extensions are kept up to date. -
👥 Multi-User System Create separate accounts with different permission levels. Invite people, and control who has access to what. Optionally enable authentication to restrict access to authorized users only.
-
🩺 Status & Health Dashboard A dedicated page that shows which series and providers need attention. Color-coded alerts (green/yellow/red) help you spot issues at a glance like broken providers, stale series with no new chapters, and more.
-
📡 OPDS Server Read your library from any OPDS-compatible reader app. Browse by all series, what's new, what you're currently reading, categories, and tags. Reading progress syncs back automatically. Each user gets their own unique random OPDS path (e.g.
door-pebble) for private access. Example:https://rensaio.example.com/door-pebble -
🤖 MCP Server (AI Integration) Expose your library to AI tools through the Model Context Protocol. Let LLMs search your series, check status, and more, all respecting user permissions. Just add /mcp to your OPDS path. Example:
https://rensaio.example.com/door-pebble/mcp' -
📖 Read State Tracking Remembers where you left off reading each chapter, across all your devices, backed in your series, not the database.
-
🔗 External Scrobbler Sync Sync your reading progress with external trackers. Supported providers: AniList, MyAnimeList, Kitsu, MangaDex. Each user controls their own connections and sync settings.
-
🧹 Filename Normalization
Rebuild your library easily with consistent naming, that will help you reimport it back when needed. -
🧾 ComicInfo.xml Injection
Chapters include rich metadata from the original source. -
🖼️ Extras
- Stores
cover.jpgper series - Stores
rensaio.jsonfor full metadata mapping, and read-state stored with you series. - External Domain Support for reverse proxy scenarios.
- Support for jxl, jp2, avif image formats, with real-time transcoding for clients not supporting them.
- And much more...
- Stores
Rensaiō is composed of:
- Frontend: A beautiful UI forked from Kaizoku Next by OAE (Next.js).
- Backend: A custom .NET engine that manages schedules, downloads, metadata, OPDS/MCP servers, and scrobbler sync, with a Mihon Bridge that enables the use of Mihon Android extensions.
- If you encounter any issues, check the
logsfolder. You can review the logs there or upload them to share feedback.
Only the MIHON extensions are actively maintained, and they are distributed as Android APKs. So we need to hack around that!
By leveraging the Java/Android bridge originally created by the Suwayomi team, and adapting parts of it to fit our use case, including replacing KCEF with JCEF Maven we can generate a Java 8 Android compatibility layer with all required Java dependencies included.
Then use IKVM to run this on .NET.
- Available for both
amd64andarm64.
| Container Path | Description |
|---|---|
/config |
Stores application configuration |
/series |
Stores series |
| Port | Service | Required | Notes |
|---|---|---|---|
| 9833 | Rensaiō UI | ✅ | Web interface |
| Variable | Value | Description |
|---|---|---|
UID |
99 | Host user ID |
PGID |
100 | Host group ID |
UMASK |
022 | File permission mask (default) |
Ensure the specified UID and PGID have write access to your mounted
/configand/seriesdirectories.
It is recommended to use host networking for optimal performance when downloading a lot and querying multiple providers in parallel.
docker run -d \
--name Rensaio \
--network host \
-p 9833:9833 \
-e UID=99 \
-e PGID=100 \
-e UMASK=022 \
-v /path/to/your/config:/config \
-v /path/to/your/series:/series \
maxpiva/rensaio:latestReplace /path/to/your/config and /path/to/your/series with real paths on your host.
services:
rensaio:
container_name: rensaio
image: 'maxpiva/rensaio:latest'
volumes:
- '/path/to/your/series:/series'
- '/path/to/your/config:/config'
environment:
- UMASK=022
- PGID=100
- UID=99
ports:
- '9833:9833'<Container>
<Name>Rensaiō</Name>
<Repository>maxpiva/rensaio:latest</Repository>
<Registry>https://hub.docker.com/r/maxpiva/rensaio</Registry>
<Network>host</Network>
<MyID>rensaio</MyID>
<Shell>sh</Shell>
<Privileged>false</Privileged>
<Support>https://github.com/maxpiva/rensaio/issues</Support>
<Project>https://github.com/maxpiva/rensaio</Project>
<Overview>Rensaiō – a feature-complete series manager powered by Mihon extensions. </Overview>
<Category>MediaManager:Comics</Category>
<Config Name="Config Folder" Target="/config" Default="/mnt/user/appdata/rensaio" Mode="rw" Description="Path to store configuration, database, and settings." Type="Path" />
<Config Name="Series Folder" Target="/series" Default="/mnt/user/media/series" Mode="rw" Description="Path where series and chapters will be downloaded." Type="Path" />
<Config Name="UID" Target="UID" Default="99" Mode="rw" Description="User ID to run the container as." Type="Variable" />
<Config Name="PGID" Target="PGID" Default="100" Mode="rw" Description="Group ID to run the container as." Type="Variable" />
<Config Name="UMASK" Target="UMASK" Default="022" Mode="rw" Description="UMASK for file permissions." Type="Variable" />
<WebUI>http://[IP]:9833</WebUI>
<TemplateURL>https://raw.githubusercontent.com/maxpiva/rensaio/main/unraid/rensaio.xml</TemplateURL>
<Icon>https://raw.githubusercontent.com/maxpiva/rensaio/refs/heads/main/RensaioFrontend/public/rensaio.png</Icon>
</Container>- A tray application based on Avalonia is available in the Releases.
- Currently tested only on Windows. Testers for Linux and macOS are welcome, as I'm unable to verify it myself.
Build scripts are provided for convenience:
.\build_frontend.ps1Builds the Next.js frontend and packages it as wwwroot.zip for the backend to serve.
.\build_docker.ps1Restores and publishes the backend for linux-x64 and linux-arm64, then builds and pushes a multi-arch Docker image.
.\build_apps.ps1Publishes the backend and tray app for win-x64, win-arm64, linux-x64, linux-arm64, and osx-arm64, then zips the tray binaries.
Be aware: Rensaiō can be memory-intensive, especially when managing large libraries or doing parallel searches and downloads.
Help clean up the mess left behind by our overenthusiastic friends, Copilot, Claude and Fable (banned).
PRs are welcome to improve stability and architecture.
This app just works™ until it doesn't. But it's here. Start managing your series with the style it deserves.
