Skip to content

Paperless-ngx

Paperless-ngx is a document management system that transforms your physical documents into a searchable online archive so you can keep, well, less paper.

References


Make directory

Terminal window
mkdir -p {{DOCKER_PATH_VAR}}/paperless-ngx && cd {{DOCKER_PATH_VAR}}/paperless-ngx

compose.yml

Terminal window
nano compose.yml
compose.yml
services:
broker:
image: docker.io/library/redis:7
container_name: paperless-ngx-redis
volumes:
- ./redis/data:/data
restart: unless-stopped
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
container_name: paperless-ngx
depends_on:
- broker
ports:
- "8001:8000"
volumes:
- ./data:/usr/src/paperless/data
- ./media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume
env_file: .env
environment:
PAPERLESS_REDIS: redis://broker:6379
restart: unless-stopped
volumes:
data:
media:
redisdata:

.env

Terminal window
nano .env
.env
USERMAP_UID=1000
USERMAP_GID=1000
PAPERLESS_SECRET_KEY=change-me
PAPERLESS_TIME_ZONE=America/New_York
PAPERLESS_OCR_LANGUAGE=eng
# This is required if you will be exposing Paperless-ngx on a public domain
# (if doing so please consider security measures such as reverse proxy)
#PAPERLESS_URL=https://paperless.example.com
# Additional languages to install for text recognition, separated by a whitespace.
# Note that this is different from PAPERLESS_OCR_LANGUAGE (default=eng), which defines
# the language used for OCR.
# The container installs English, German, Italian, Spanish and French by default.
# See https://packages.debian.org/search?keywords=tesseract-ocr-&searchon=names
# for available languages.
#PAPERLESS_OCR_LANGUAGES=tur ces

Start container

Terminal window
docker compose up -d

Open web ui

http://localhost:8001 or http://{{SERVER_IP_VAR}}:8001