Docspell is a personal document organizer. Or sometimes called a "Document Management System" (DMS). You'll need a scanner to convert your papers into files. Docspell can then assist in organizing the resulting mess .

It can unify your files from scanners, emails and other sources. It is targeted for home use, i.e. families, households and also for smaller groups/companies.

To summarize, Docspell assists you in organizing your piles of documents, resulting from scanners, e-mails and other sources with miminal effort.


You can associate tags, set correspondends and lots of other predefined and custom metadata. If your documents are associated with such meta data, you can quickly find them later using the search feature.

But adding this manually is a tedious task. Docspell can help by suggesting correspondents, guessing tags or finding dates using machine learning. It can learn metadata from existing documents and find things using NLP. This makes adding metadata to your documents a lot easier. For machine learning, it relies on the free (GPL) Stanford Core NLP library.

Docspell also runs OCR (if needed) on your documents, can provide fulltext search and has great e-mail integration. Everything is accessible via a REST/HTTP api. A mobile friendly SPA web application is the default user interface. An Android app exists for conveniently uploading files from your phone/tablet and a cli. The feature overview lists some more points.


Features

  1. Cross-platform
  2. Multi-User per Account
  3. Full-Text Search that search files meta-data, fields, and document content
  4. It comes with a rich bookmark manager tool
  5. It offers a rich text analysis tools that is powered by machine learning (ML) algorithms
  6. Users can add their own tags
  7. Compare documents easily
  8. Supports dozens of file format
  9. Easy convert documents to PDF files
  10. Drag-and-drop file tool
  11. Webhooks ready
  12. Manage your file collections easily
  13. It has a built-in OCR system
  14. Comes with a built-in PDF and document viewer
  15. Set document meta tags
  16. Share files via emails
  17. Mobile-ready interface
  18. User can install in mins using Docker
  19. User can manage their folders, tags, collections, tag categories, and more
  20. User can setup custom-fields for files and collections
  21. Filter docs by date, fields, custom fields, folders, tags, user-tags, concerning, source, type and modified date
  22. Manage multi-organizations
  23. Built-in browser notification

Install Docspell

Docspell can be installed easily using Docker and Docker Compose in 5 easy steps

1- Clone the project repo

git clone https://github.com/eikek/docspell

2- Change to the docker-compose directory

 cd docspell/docker/docker-compose

4- Run the app using Docker-compose

docker-compose up -d

5- Head to your newly installed system:

Goto http://localhost:7880, signup and login. When signing up, choose the same name for collective and user. Then login with this name and the password.

Tech Stack

Backend

The servers is written in Scala in a pure functional style, based on libraries from the typelevel stack: Cats, FS2, Doobie, Http4s, Circe and Pureconfig.

There are more libraries and technologies used, of course. Docspell is only a orchestration of great tools and libs. One important is the Stanford-NLP, that provides the ML features. Furthermore, file processing relies on external tools like tesseract, unoconv and ocrmypdf. All dependencies can be looked up in project/Dependencies.scala.

Frontend

The web frontend is a SPA written in Elm. The UI framework in use is tailwind.


License

Docspell is free software, distributed under the AGPLv3 or later.

Resources