Sign inSign up

deknijf/docstore

By deknijf

•Updated 28 days ago

github: https://github.com/deknijf/documentstore

Image
Content management system
0

885

deknijf/docstore repository overview

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.

⁠Quick start with Docker Compose

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)

⁠Configuration

Docstore supports multiple OCR/AI options and can be configured either through the Admin > Integrations UI or via environment variables.

Common environment variables:

  • HOST_PORT (default 8000) to expose the app on a different host port
  • PUBLIC_BASE_URL for absolute links (password reset emails, etc.)
  • OCR_PROVIDER default OCR engine (textract or llm)
  • AI_PROVIDER LLM provider (openrouter, openai, google)
  • AWS Textract credentials when using Textract OCR
  • LLM API keys and model names when using LLM Vision OCR / parsing
  • Mail ingest (IMAP) options to ingest PDF attachments (optional)
  • SMTP settings for sending emails (password reset, notifications, etc.)

⁠Notes

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.

Tag summary

Content type

Image

Digest

sha256:9d4f2c345…

Size

223.1 MB

Last updated

28 days ago

docker pull deknijf/docstore:v0.7.1