- decent ui that is also usable on mobile
- lots of filters
- very cool auto tagging, auto categorisation
- trash
- sometimes textual pdfs are OCR-ed, and show gibberish in preview
COMPOSE_PROJECT_NAME=paperless
# The container installs English, German, Italian, Spanish and French by default.
# available languages:
# https://packages.debian.org/search?keywords=tesseract-ocr-&searchon=names&suite=buster
# PAPERLESS_OCR_LANGUAGES=eng
# This is required to expose Paperless-ngx on a public domain
PAPERLESS_URL=https://paperless.domain.com
PAPERLESS_SECRET_KEY=changeme
PAPERLESS_TIME_ZONE=Europe/Dublin
# Default language to use for OCR
PAPERLESS_OCR_LANGUAGE=eng
---
services:
broker:
image: docker.io/library/redis:6.0
container_name: paperless-redis
restart: unless-stopped
volumes:
- ./redis:/data
gotenberg:
image: docker.io/gotenberg/gotenberg:7.4
container_name: paperless-gotenberg
restart: unless-stopped
command:
- "gotenberg"
- "--chromium-disable-routes=true"
tika:
image: ghcr.io/paperless-ngx/tika:latest
container_name: paperless-tika
restart: unless-stopped
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
container_name: paperless-ngx
restart: unless-stopped
depends_on:
- broker
- gotenberg
- tika
healthcheck:
test: ["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
env_file: docker-compose.env
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
PAPERLESS_TRASH_DIR: /usr/src/paperless/trash
PAPERLESS_OCR_MODE: skip_noarchive
ports:
- 8000:8000
volumes:
- ./data:/usr/src/paperless/data
- ./media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume
- ./trash:/usr/src/paperless/trash
# fetch the docker image
docker-compose pull
# create admin user
docker-compose run --rm webserver createsuperuser
# start
docker-compose up -d