gitwtfhub

wtf is paperless-chandra?

flobernd/paperless-chandra — explained in plain English

Analysis updated 2026-05-18

10PythonAudience · ops devopsComplexity · 4/5Setup · hard

TL;DR

A plugin that upgrades paperless-ngx's document scanning to use a large AI model for more accurate text recognition across many languages.

Mindmap

mindmap
  root((paperless-chandra))
    What it does
      Replaces Tesseract OCR
      Multi language support
      Handles tables and handwriting
    Tech stack
      Python
      paperless-ngx
      vLLM
      Chandra OCR model
    Use cases
      Improve OCR accuracy
      Read mixed language documents
      Digitize complex layouts
    Audience
      paperless-ngx admins
      Self hosters

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Replace paperless-ngx's built in OCR with a more accurate AI model.

REASON 2

Digitize documents containing mixed languages or handwriting.

REASON 3

Run a separate GPU server that handles OCR requests for a paperless-ngx instance.

What's in the stack?

Pythonpaperless-ngxvLLMDocker

How it stacks up

flobernd/paperless-chandraaarav90-cpu/fetchitadammartinez271828/x4-analysis
Stars101010
LanguagePythonPythonPython
Setup difficultyhardeasyeasy
Complexity4/52/52/5
Audienceops devopsdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · hard Time to first run · 1h+

Needs a separate GPU server (about 24GB VRAM for full precision) running the Chandra OCR model via vLLM.

Wtf does this do

paperless-chandra is an add-on for paperless-ngx, an open source document management system that scans and organizes paper documents you have digitized. Normally, paperless-ngx reads text out of scanned documents using a traditional tool called Tesseract. This plugin swaps that step out for a much larger AI model called Chandra OCR, which can read text more accurately, handle over 90 languages and mixed scripts without extra setup, and make sense of complicated layouts, tables, and even handwriting. Everything else about how paperless-ngx works stays the same. Your existing settings for OCR language, output format, and page cleanup still apply, and the final documents are still saved as standard, searchable PDF files. Because the Chandra model is large, it does not run inside paperless-ngx itself. Instead, you need to run it separately on a server that has a capable graphics card, using a compatible serving tool such as vLLM. Full quality processing needs a fairly powerful GPU with around 24 gigabytes of memory, though smaller, compressed versions of the model can run on weaker hardware or even a CPU, just more slowly. The paperless-ngx container itself does not need a graphics card at all. There are three ways to install the plugin: building it into your own custom Docker image, which is the recommended path, adding it to an existing container using a bootstrap script if you cannot rebuild the image, or installing it directly using pip if paperless-ngx runs outside Docker. The README includes a full example Docker Compose file showing paperless-ngx and the Chandra server running together, plus the environment variables used to point the plugin at your server and configure things like the model name and API key. This project is intended for people already running paperless-ngx who are comfortable with Docker, environment variables, and setting up a separate AI inference server, rather than casual users looking for a plug and play experience. It requires the newer beta release of paperless-ngx that supports third party parser plugins.

Yoink these prompts

Prompt 1
Help me build the custom Docker image for paperless-chandra and connect it to paperless-ngx.
Prompt 2
Explain what GPU I need to run the Chandra OCR server for this plugin.
Prompt 3
Walk me through the docker-compose setup for paperless-ngx plus a Chandra vLLM sidecar.
Prompt 4
What environment variables do I need to configure paperless-chandra correctly?

Frequently asked questions

wtf is paperless-chandra?

A plugin that upgrades paperless-ngx's document scanning to use a large AI model for more accurate text recognition across many languages.

What language is paperless-chandra written in?

Mainly Python. The stack also includes Python, paperless-ngx, vLLM.

How hard is paperless-chandra to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is paperless-chandra for?

Mainly ops devops.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.