LANrurugi

Self-hosted manga & e-book reader

A self-hosted manga library with AI translation

A self-hosted library for manga first, and for e-books such as PDF and EPUB too. Built on LANraragi and extensively reworked and extended in Rust + React; your existing LANraragi library works as-is. It includes in-page manga translation, recommendations for similar works and AI plugin generation.

  • Open source · self-hosted
  • LANraragi-compatible
  • Every AI feature optional
Sample Story · Vol. 3
Where did I leave off in this one?
It continues in the next volume!
Got anything similar?
14–15 / 186 Original

第1話

AI features

Translation, plugin writing and tankoubon sorting can be handed to AI. Every AI feature is optional, and everything else works without an API key.

In-page translation

In-page manga translation

Manga-specific OCR reads vertical and horizontal text, a glyph-level mask erases only the lettering, and the translation is set back into each bubble in the original direction. A glossary keeps names consistent across a volume, and a per-volume font cache keeps the lettering consistent.

  1. Detect
  2. Manga OCR
  3. Glyph erase
  4. LLM translate
  5. Typeset
  • Cloud or local translation backend
  • Cost shown, with an optional limit
  • Results are saved and not translated again
Plugin wizard

Generate a plugin from one sentence

Describe the site and the AI writes a login, metadata or download plugin, test-runs it in a Deno sandbox and fixes it from the error if it fails. LANrurugi fetches every page itself, and test credentials are never sent to the AI.

Recommend

Recommendations when you finish a book

A local ONNX embedding model shortlists candidates from your whole library, then an LLM ranks them. Tankoubons are matched on their last volume, so volume 1 is never recommended back.

Curate

Turn loose files into a tankoubon

A local model finds loose archives that belong to the same series and suggests grouping them into a tankoubon (no API key needed for this step); the AI then suggests the series name, chapter titles and reading order from the volume and chapter numbers in the filenames. A whole subfolder can also become a tankoubon in one step.

Tag completion

When no metadata plugin finds tags, an LLM fills them in from the title and existing information.

Subscription conditions in plain words

Describe the kind of works you want to follow and the AI turns it into the subscription's filter rules, which are validated before they are saved.

第2話

Reading and management

第3話

Downloads and organizing

第4話

Works with your LANraragi library

Keeps LANraragi's library layout and HTTP API, so third-party readers connect as before. Tags, categories and other metadata come over from a LANraragi backup; the two databases stay independent.

Moving from LANraragi

  1. Export a backup from LANraragi

    Settings → Database Backup/Restore → Backup Database, and save the JSON file. LANraragi can keep running.

  2. Start LANrurugi

    Mount the same manga directory as LANraragi's library. Thumbnails and the database need mounts too, but in new directories, not LANraragi's.

    Generate the compose from your LANraragi deployment →

  3. Sign in

    kamimamita

    Open http://<server>:3000 and sign in with the default password kamimamita (the same as LANraragi). The first-run wizard asks you to set your own.

  4. Import the backup

    Upload the JSON in the wizard's "Import from a LANraragi backup" step, or later under Settings → Database Backup/Restore. Tags, categories, tankoubons and stamps come back; reading progress is not part of the backup. Archives are matched by file name, so let the library scan finish first.

API operations, authorized per route
242
resident main process (LANraragi runs 3)
1
fully translated interface languages
3
themes, including the classic E-Hentai palette
5

Search syntax

artist:"some artist" | circle:example is:unread size:>=100M -tag:sample

or / grouping / negation · read state · file size · progress ranges · date added · per-account search history

Supported formats

Archives ZIP / CBZ RAR / CBR 7Z / CB7 TAR / CBT LZH

E-books PDF EPUB MOBI / AZW3 DjVu FB2 TXT

Scanned pages are served as stored, never re-compressed. Text books are typeset into pages on the server, with a Chinese, Japanese or Korean font matched to the book's language, and the book's own table of contents becomes its chapter list.

最終話

Deploy with Docker Compose

  1. Copy the compose text

    Hit “Copy”, save it as compose.yaml, and change the directories as the comments describe.

  2. Start it

    docker compose up -d

    On a NAS, create a compose project in Synology Container Manager, Portainer or similar and paste the same text.

  3. Open your browser

    http://<server>:3000

    The first-run wizard walks you through replacing the default password, adding an API key for the AI features and importing a LANraragi backup.

# compose.yaml
services:
  lanrurugi:
    image: ghcr.io/thelastfantasy/lanrurugi:latest
    container_name: lanrurugi
    ports:
      - "3000:3000"
    volumes:
      # Library — can point straight at LANraragi's content directory
      - ./data/manga:/home/koyomi/lanrurugi/content
      # Thumbnail cache, LANrurugi only — not LANraragi's thumb directory
      - ./data/thumb:/home/koyomi/lanrurugi/thumb
      # Redis data, LANrurugi only; LANraragi's metadata is imported from its backup JSON
      - ./data/database:/home/koyomi/lanrurugi/database
      # Embedding model for recommendations, downloaded on first use
      - ./data/models:/home/koyomi/lanrurugi/models
    environment:
      # Set to true when served over HTTPS through a reverse proxy
      - LANRURUGI_FORCE_SECURE_COOKIES=false
    restart: unless-stopped

Running behind Nginx, Caddy, Traefik or another reverse proxy? See reverse proxy examples

LANrurugi's thumbnail and database directories must be separate from LANraragi's — never the same path — and the two can run side by side. Tags, categories and other metadata come in through LANraragi's backup JSON, a step in the first-run wizard.

The same image is also on Docker Hub: jade913/lanrurugi

Already running LANraragi? Convert its deployment to LANrurugi

Paste LANraragi's docker run command or compose.yaml; its library directory is put into the compose text above, thumbnails and the database stay in LANrurugi's own directories, and the port becomes the one after LANraragi's. The conversion runs in your browser only — nothing is uploaded.

    Without Docker

    Native packages are available for Linux (x86_64 / ARM64), Apple Silicon Macs and FreeBSD: install Redis, Deno and the other prerequisites with your package manager, unpack and run — or register it as a system service. On Windows, use Docker Desktop.

    Native install guide →