No more paper. Archive all paper documents to allow full-text searching, tagging and Git based backup
The future is paperless. Unfortunately, most authorities (at least in Germany) still love paper, rendering ‘digitalization’ a foreign word.
To bypass this stale state, I started this project which allows scanned (and therefore digitized) documents to be…
The goal for this project was not only environmental happiness, but also customer happiness.
Some of the key-features are:
Unconfirmed
section via the Web UIUsing docker-compose is the most simple way to set up paperless-office.
Prepare your environment:
cd /path/paperless-office-documents
mkdir -p data/raw data/processed
# BEGIN Optionally init git repository
cd data/processed
git init
# At the moment only https basic auth for Git is supported
git remote add origin https://username:password@your.git/username/paperless-office-documents.git
# Create .gitlab-ci.yaml or GitHub actions workflow, depending on your Git provider. For a GitLab snippet see further below.
touch .gitlab-ci.yaml
# Get the webviewer.json and index.html
wget https://github.com/swinkelhofer/paperless-office/releases/latest/download/webviewer.js
wget https://github.com/swinkelhofer/paperless-office/releases/latest/download/index.html
# Stage and push your initial changes
git add -A
git commit -am "Init"
git push
cd ../..
# END Optionally init git repository
# Display your user ID for configuration in the next step
id -u
docker-compose.yaml
:
version: "3.6"
services:
paperless-office:
image: ghcr.io/swinkelhofer/paperless-office:latest
# user must match the UID of the volumes' owner
user: "1000:1000"
ports:
- "8000:8000"
volumes:
- /path/paperless-office-documents/data/processed:/srv/data/processed
- /path/paperless-office-documents/raw:/srv/data/raw
restart: always
docker-compose up -d
to start paperless-office.There are two other projects named Paperless and Mayan EDMS out there, that have technical overlap with paperless-office. In contrast to paperless-office, both are written in Python and do have a broader feature set (like document encryption). In favor, paperless-office brings a prettier UI, Git integration and a Webviewer allowing access to your documents via GitLab or GitHub pages.
A simple Git integration can be extended by supplying a CI workflow to deploy the contents via GitLab Pages or GitHub Pages.
gitlab-ci.yaml
example configuration:
pages:
image: alpine:3.13
script:
- mkdir public
- cp -rf * public/ || true
artifacts:
paths:
- public
Each operation in paperless-office Web UI leads to a push to your Git repository. The CI pipeline will be triggered on each push, therefore re-deploying GitLab pages. The webviewer is then available via https://username.gitlab.io/paperless-office-documents