github: https://github.com/deknijf/documentstore
885
Docstore is a lightweight, modern document center that helps you store, search, and manage important documents (invoices, bills, receipts, medical documents, tax documents, attestations, and more). You can upload PDFs or images, automatically run OCR, extract key fields (sender, subject, document date, due date, total amount, IBAN, structured reference, etc.), generate thumbnails for fast browsing, and search through the full OCR text from one central search bar.
The app includes a clean dashboard with faceted search (amount and date ranges, paid status, label/category/sender filters), a document overview with bulk actions, a document detail page (edit fields, show original document and OCR text), and an admin area for managing integrations and users. For finances, it also supports CSV import of bank transactions and provides a budget view with categorization and drill-down, helping you connect payments to documents (read-only, no write operations to a bank).
Docstore is built as a single container (FastAPI + SQLite + built-in full-text search) and runs well with Docker Compose. Persistent data is stored in a ./data volume (uploads, thumbnails, avatars, and the SQLite database), so upgrades are straightforward. At startup the app initializes its schema and stores version metadata in the database to support safe upgrades over time.
Create an .env file (start from the example if you have it in your repo), then run:
docker compose up -d
By default the app listens on port 8000:
Open: http://localhost:8000 All persistent state is stored under ./data on the host:
documentstore.db (SQLite database)
data/uploads (original files)
data/thumbnails (generated thumbnails)
data/avatars (user avatars)
Docstore supports multiple OCR/AI options and can be configured either through the Admin > Integrations UI or via environment variables.
Common environment variables:
The app is designed for read-only bank workflows: CSV import for transactions is supported; no write operations are performed against a bank. API keys and secrets are stored write-only in the UI and are not readable back from the database once set.
Content type
Image
Digest
sha256:9d4f2c345…
Size
223.1 MB
Last updated
28 days ago
docker pull deknijf/docstore:v0.7.1