About this project

Docspell is a personal document organizer, often called a Document Management System (DMS). It is aimed at home use such as families and households, and also smaller groups or companies. You still need a scanner to turn paper into files; Docspell then helps organize the resulting pile and can unify files coming from scanners, emails and other sources. Core capabilities described in the README: - Metadata organization: associate tags, set correspondents and use many predefined and custom metadata fields. Documents with metadata can be found quickly through search. - Machine-learning assistance: Docspell can suggest correspondents, guess tags and find dates by learning from existing documents and using NLP. It relies on the free GPL Stanford CoreNLP library. - OCR: runs OCR on documents when needed. - Fulltext search over documents. - Email integration for importing and handling mail items. - REST/HTTP API for access to everything. - Default user interface is a mobile-friendly SPA web application. - Additional clients: an Android app for uploading files from phone or tablet, and a command-line client (dsc). Getting started: the README points to a Docker setup as the quickest route, using a separate docker repository and docker-compose, then visiting localhost:7880 to sign up and log in. Other installation options include a provided deb package for Debian-based systems, a downloadable zip with a script in bin/, the Nix package manager with a NixOS module, and a Helm chart. Documentation is hosted on the project page, covering usage and setup. Community support is available via a Gitter room, GitHub issues and email; contribution notes are in Contributing.md. Tech stack: the backend server is written in Scala in a pure functional style using the typelevel stack (Cats, FS2, Doobie, Http4s, Circe, Pureconfig). File processing depends on external tools such as tesseract, unoserver/unoconvert and ocrmypdf. The web frontend is a SPA written in Elm with the Tailwind CSS framework. License: AGPLv3 or later.