Install (Docker / NAS)
LANrurugi is a single binary: the static frontend, the HTTP API, the file watcher and the plugin pool
all live in one process. It reuses the Redis you already have and does not destructively migrate
existing data — the data/database directory mounted by compose.yaml is the same Redis data
directory the old LANraragi used.
Start it with Compose
Section titled “Start it with Compose”podman compose up -d # or: docker compose up -dThe three host directories compose.yaml uses match the old LANraragi data/ layout:
| Host path | Path in the container | Purpose |
|---|---|---|
./data/manga |
/home/koyomi/lanrurugi/content |
Your library |
./data/thumb |
/home/koyomi/lanrurugi/thumb |
Thumbnail cache |
./data/database |
/home/koyomi/lanrurugi/database |
Redis data (shared with the old instance) |
The container uses network_mode: host, and the server listens on port 3000 (LANRURUGI_BIND
defaults to 0.0.0.0:3000).
Run it with plain Docker
Section titled “Run it with plain Docker”docker build -t lanrurugi .docker run -p 3000:3000 -v /path/to/library:/library lanrurugiFirst login
Section titled “First login”A brand-new instance — or one migrated from an old installation whose password was never changed —
uses LANraragi’s own default administrator password, kamimamita.
Reading this documentation offline
Section titled “Reading this documentation offline”The documentation site, the API reference, the Swagger UI and the plugin SDK reference are all baked
into the image and served by the instance itself under /docs:
http://<your instance address>:3000/docs/ guides and the per-group API reference (Chinese)http://<your instance address>:3000/docs/en/ the same, in Englishhttp://<your instance address>:3000/docs/swagger/ Swagger UI, Chinese content (schemas; send requests)http://<your instance address>:3000/docs/swagger/en/ Swagger UI, English contenthttp://<your instance address>:3000/docs/sdk/ plugin SDK referenceNo internet access is required: even Swagger UI’s JavaScript bundle and the SDK’s search index ship inside the image — nothing is loaded from a CDN.
Toolchain (building from source)
Section titled “Toolchain (building from source)”Versions are pinned in .mise.toml, and mise install reproduces them exactly (Rust, Node, Deno,
pnpm, plus sccache/mold).
# Backendcargo build --release -p lanrurugi-server./target/release/lanrurugi-server serve --redis-url redis://127.0.0.1:6379 \ --library-path /path/to/existing/library
# Frontend dev server (proxies /api to the backend above)pnpm --filter lanrurugi-frontend run devCLI subcommands
Section titled “CLI subcommands”lanrurugi serve— runs the HTTP API, static frontend, file watcher and plugin pool in one process.lanrurugi rebuild-index— recomputes every archive’s ID with the size-aware algorithm and surfaces files that were historically hidden by a mistaken merge.lanrurugi bench— generates a synthetic library and runs a concurrency/throughput comparison against a running legacy instance.