Scrinium

Every document.
Found in seconds.

Scrinium is a self-hosted PDF document library with local OCR — scan it, drop it, or email it in, and every page becomes searchable. Your papers stay on your own server, and you can export the whole library any time.

Get it on GitHub iOS App Store Explore features
Self-hosted Open source Installable PWA Local OCR iOS app on the App Store
Why Scrinium

Your paper trail, under your roof

Bills, contracts, records, manuals — they pile up somewhere. Scrinium turns them into a searchable archive on your own hardware, and never holds them hostage.

Originals, untouched

Your uploaded files are never mutated — the OCR'd copy is a separate file, and pretty filenames are applied only at download. What you put in is exactly what you can take out.

OCR that stays local

Text recognition runs on your own machines — Tesseract in the container, or noticeably better results through an Apple Vision sidecar on a Mac. No cloud OCR API ever sees your documents.

Transparent organization

Hierarchical tags, correspondents, document types, custom fields, and classification rules you can read and reason about — no trained models guessing at your filing, by design.

Leave any time

One-click full-library export: originals, OCR'd archives, and a metadata manifest. Coming from Paperless-ngx? Import brings your metadata with it.

Everything inside

From shoebox to searchable

Four ways in, one fast search out.

Ingest four ways

Upload (chunked for big files), a watched folder where folder names become tags, email-in, or the iOS companion app.

Local OCR, graceful always

Tesseract by default, Apple Vision via a Mac sidecar for better results. Failures degrade gracefully — a document is never lost.

Search that jumps

Postgres full-text search across everything, with jump-to-match right inside the PDF viewer, plus saved views and an insights dashboard.

Tags that think in trees

Hierarchical tags with colors, correspondents, document types, custom fields, notes, and dates extracted from the text itself.

Page operations

Rotate, delete, and split pages; share links; bulk actions; and a soft-delete trash with retention — manage safely.

Honest progress

Live progress with real ETAs, and pause/resume that survives restarts — big backlogs process on your schedule.

A deliberate Paperless-ngx replacement

Scrinium was built to fix the weak spots — graceful OCR failure instead of lost documents, transparent rules instead of trained models, honest ETAs, and originals that are never touched. And it imports your Paperless-ngx library with metadata intact.

The name is Latin: a scrinium was the cylindrical case Romans used to hold their scrolls — the ancestor of the word "shrine."

Run it yourself

Self-host in three steps

You need Docker with Compose. A NAS is a good home; the Portainer stack file works as-is.

1

Launch the stack

One compose command brings up Postgres, the API, and the worker.

2

Create your account

The first visit routes to a setup page that creates the initial user.

3

Feed it documents

Upload, point a watched folder at it, or wire up email-in — and search.

# launch (or paste the Portainer stack file)
docker compose up -d --build

# open the app and create the first user
# optional: run the Apple Vision sidecar on a Mac
# for noticeably better OCR

Open http://<host>:8220 (Portainer stack) and follow the setup page. Migrating? Import your Paperless-ngx export from Settings.

FastAPIPostgreSQLReactTesseractApple VisionDockerPWA
FAQ

Questions, answered

Is Scrinium a replacement for Paperless-ngx?
Yes — deliberately. It covers the same job (a self-hosted, OCR'd document archive) while fixing known weak spots: OCR failures degrade gracefully instead of losing documents, classification uses transparent rules rather than trained models, progress reporting is honest, and originals are never mutated. There's a Paperless-ngx importer that keeps your metadata.
Does OCR happen locally?
Always. By default Tesseract runs inside the container; for noticeably better results, run the Apple Vision sidecar on a Mac on your network. Either way, no cloud OCR service ever sees your documents.
How do I get documents in?
Four ways: upload in the web app (chunked, so huge scans work), a watched folder (folder names become tags automatically), email, or the iOS companion app with capture-time OCR.
Can I get my documents back out?
Any time, in one click: a full-library export with your originals, the OCR'd archive copies, and a metadata manifest. Your originals are stored untouched from the day you added them.
What does "Scrinium" mean?
It's Latin: a scrinium was the cylindrical case Romans used to hold scrolls — the ancestor of the word "shrine." A fitting name for the place your documents live.