Assist in organizing your piles of documents, resulting from scanners, e-mails and other sources with miminal effort.
Go to file
totti4ever bcb42920e1
Proper docker files (build from code) - 2.1 (#311)
* new file: base.dockerfile
base docker file for compiling sources

deleted: build-images.sh
replaced by dev-build-images.sh

deleted: build-joex-base.sh
replaced by base / joex dockerfile

changed: consumedir.dockerfile
based on compiled tool-binaries from base image
added health check (basic, check for REST server connection)

new file: dev-build-images.sh
added one build script for all purposes
derives tag from version-file (all snapshot become latest)

new file: dev-push-images.sh
added one push script for all purposes (similar to build)

changed: docker-compose.yml
	* changed regarding entrypoints and commands now being in the images
	* added health checks for 3rd party images (postgres and solr)
	* some minor renaming of the areas

renamed: entrypoint-joex.sh -> joex-entrypoint.sh
	* for better order

renamed: joex-base.dockerfile -> joex.dockerfile
	* also reworked to base on main base image
	* plus renamed for better order

deleted: push-images.sh
	* replaced by dev-push-images.sh

deleted: push-joex-base.sh
	* not necessary anymore

changed: restserver.dockerfile
	* reworked to be base on main base image
	* smaller
	* added health check

* updated docker-compose to new images

* update docker-compose.yml

remove unnecessary network entries

* update docker-compose.yml

added missing volume for postgres

* reverted image naming scheme and added log to docker build

1. go back to local code instead of cloning git
2. added build log to docker image build script, incl. log build times.
Logs can be found in `docker/dev-log` folder
3. added docker docs and new docker build logs folder to .gitignore
4. added

* build docker images from local files instead of cloned remote repo, plus time recording of builds
 - switched way docker images are built from remote git repo to local files (which should be the git repo, but may have local changes)
 - the docker build logs will show the time needed for the single image builds

* reverted deletion of joex base dockerfile

* joex base dockerfile plus smaller improvements
  - separate joex base file
  - added docker hook to improve Docker Hub experience

* updated docker hub build hook

corrected wrong path (base is build context)

* Fix of docker hub build hook again

base path seems to be the dockerfile's folder

* fixed typo in .dockerignore

* added ability to spool log to console instead of file, especially for automated docker builds

* improved logging of build script

* minor tweaks from review (.dockerignore, docker hub hook and an error when using other repos)

* added push of non-base images to automated docker hook

* fixes for docker hub build hook

* fixed/improved docker build hook

* replaced tag-version of untagged versions with SNAPSHOT (was LATEST, which should be used or stable tags only)
plus, made the version tag mandatory for the dockerfiles

* adapted docker build and push scripts for tagged images (using docker automated builds)

* fixed docker build hook
stupid copy & paste mistake...

* minor mistake in build hook

* added validation of matching version numbers for docker automated builds (for non-snapshot builds)

* fixed missing fi in new validity check

* fixed docker build hook validity check

* mixed up version comparison fixed

* relative path error in hook validation

* mixed up version comparison fixed

* test

* fixed error in version matching for docker hook

* test

* improved versioning, so that docker images are v0.00.00

* revert version.sbt

got overwritten by accidence

* reverted version.sbt

* improved environment parameters, especially enabled setting DB params by them

	- additionally added .env file to have the same env variables for all containers

* cleaned up docker-compose.yml to fit public origin repo again

* optimized way db params are set

figured out, we do not need the DB-String to be built at startup, docspell.conf reads also multiple variables.
I still kept the restserver entrypoint, although we do not need it now - it might be helpful in the future or for debugging pruposes

* added restart option  to restart docspell, e.g. after a system reboot - but only if it was running before
2020-10-19 13:56:44 +02:00
artwork Remove old site 2020-07-31 01:28:09 +02:00
docker Proper docker files (build from code) - 2.1 (#311) 2020-10-19 13:56:44 +02:00
modules Fix route in openapi spec for uploading 2020-10-19 13:45:14 +02:00
nix Update docker and nix setup 2020-09-28 01:10:44 +02:00
project Update flyway-core to 7.0.4 2020-10-16 18:18:53 +02:00
tools Fix consumedir to handle files/directories with spaces 2020-09-20 21:34:38 +02:00
website Merge branch 'current-docs' 2020-09-30 00:26:56 +02:00
.dockerignore Proper docker files (build from code) - 2.1 (#311) 2020-10-19 13:56:44 +02:00
.gitignore Proper docker files (build from code) - 2.1 (#311) 2020-10-19 13:56:44 +02:00
.mergify.yml Extend mergify to merge my own prs on ci success 2020-06-13 14:53:38 +02:00
.projectile Add local/ to .gitignore 2020-09-13 11:48:31 +02:00
.scalafix.conf Add scalafix and organize-imports rule 2020-06-28 21:20:47 +02:00
.scalafmt.conf Update scalafmt-core to 2.7.5 2020-10-16 22:37:52 +02:00
.travis.yml Make new coursier cache available to travis 2020-08-23 17:48:42 +02:00
build.sbt Provide gz version of web assets 2020-09-03 00:22:58 +02:00
Changelog.md Update Changelog 2020-09-28 00:52:09 +02:00
elm-analyse.json Fix elm-analyse issues 2020-01-29 20:56:14 +01:00
elm-package.json Add scalafmt.conf and elm compile options 2019-12-29 20:52:43 +01:00
elm.json Replace js code with proper elm using elm-scroll package 2020-09-14 23:35:21 +02:00
LICENSE.txt Initial version. 2019-09-21 22:02:36 +02:00
NOTICE.txt Improve handling encodings 2020-03-23 22:51:28 +01:00
README.md Update README.md 2020-09-24 13:30:23 +02:00
version.sbt Set version to 0.13.0-SNAPSHOT 2020-09-28 01:12:10 +02:00

Build Status Scala Steward badge License Docker Pulls Gitter chat

Docspell

Docspell is a personal document organizer. You'll need a scanner to convert your papers into files. Docspell can then assist in organizing the resulting mess 😉.

You can associate tags, set correspondends, what a document is concerned with, a name, a date and some more. If your documents are associated with this meta data, you should be able to quickly find them later using the search feature. But adding this manually to each document is a tedious task. What if most of it could be done automatically?

It is provided as a REST server and a web application and is intended to be self-hosted.

How it works

Documents have two main properties: a correspondent (sender or receiver that is not you) and something the document is about. Usually it is about a person or some thing maybe your car, or contracts concerning some familiy member, etc.

  1. You maintain a kind of address book. It should list all possible correspondents and the concerning people/things. This grows incrementally with each new unknown document.
  2. When docspell analyzes a document, it tries to find matches within your address book. It can detect the correspondent and a concerning person or thing. It will then associate this data to your documents.
  3. You can inspect what docspell has done and correct it. If docspell has found multiple suggestions, they will be shown for you to select one. If it is not correctly associated, very often the correct one is just one click away.

The set of meta data, that docspell uses to draw suggestions from, must be maintained manually. But usually, this data doesn't grow as fast as the documents. After a while there is a quite complete address book and only once in a while it has to be revisited.

Impressions

Checkout the short demo videos (<1min), present on the project page. Here are some screenshots:

screenshot-1 screenshot-2

Try it

Docspell consists of several components. The probably quickest way to get started is to use the docker setup as described in the get started page. This is only three commands away:

git clone https://github.com/eikek/docspell
cd docspell/docker
DOCSPELL_HEADER_VALUE="my-secret-123" docker-compose up

Then go to http://localhost:7880, sign up and login. Use the same name for collective and user for now. More on that can be found here.

Other ways are documented here:

Documentation

The project page has lots of information on how to use and setup docspell.

Contributions

Feedback and other contributions are very welcome! There is now a gitter room for quick questions. You can open an issue for questions, problems and other feedback; or make a mail to info [at] docspell.org.

License

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