Files
codeandClaude Fable 5 340866f9f4 complete all stack READMEs to the 9-section template
Existing content preserved and reordered to the canonical section order;
missing sections generated from each stack's compose data (ports, volumes,
env vars, image links). Fixes copy-paste errors in Dockhand sections
(qbittorrent pointed at archivebox; invokeai/thunderbird said SERVICENAME)
and persistant->persistent typos in gatus.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 06:25:05 +00:00
..
2026-07-16 06:24:54 +00:00

Paperless

Overview

Document management system that indexes your scanned paperwork.

Project Details

  • Project Repository: Link
  • Container Image: Github
  • Compose Example: Compose
  • Documentation: Docs
  • Reverse Proxy Port: 8000

Getting Started

  1. Start the container: docker compose up -d
  2. Open http://localhost:8000 in your browser
  3. Follow the initial setup wizard to configure the application

Environment Variable Notes

PAPERLESS_MARIADB_DATABASE  default: paperless
PAPERLESS_MARIADB_USER  default: paperless
PAPERLESS_MARIADB_PASSWORD  default: ChangeThisPassword
PAPERLESS_MARIADB_ROOT_PASSWORD  default: ChangeThisPassword
PAPERLESS_SECRET_KEY  default: ChangeThisPassword
PAPERLESS_OCR_LANGUAGE  default: eng
PAPERLESS_URL  default: http://localhost
PAPERLESS_CONSUMER_DELETE_DUPLICATES  default: 0
PAPERLESS_PORT  default: 8000

Volume Notes

/data  host path /data/paperless/redis
/var/lib/mysql  host path /data/paperless/db
/usr/src/paperless/data  host path /data/paperless/data
/usr/src/paperless/media  host path /data/paperless/media
/usr/src/paperless/export  host path /data/paperless/export
/usr/src/paperless/consume  host path /data/paperless/consume

Network Notes

Requires proxy network

Docker Run

docker run -d \
  --name paperless \
  -p 8000:8000 \
  -v /data/paperless/redis:/data \
  -v /data/paperless/db:/var/lib/mysql \
  -v /data/paperless/data:/usr/src/paperless/data \
  -v /data/paperless/media:/usr/src/paperless/media \
  -v /data/paperless/export:/usr/src/paperless/export \
  ghcr.io/paperless-ngx/paperless-ngx:latest

See compose.yaml for the full set of environment variables.

Additional Notes / Gotchas

Nothing specific to this stack so far.

Dockhand Stack, Deploy from Git

Cookbooks Repository stackname: paperless Compose file path: paperless/compose.yaml Additional env file (optional): paperless/sample.env

Then "Load" paperless/sample.env into the Environmental variables in dockhand

Create the Stack

First Run

It takes a very long time for the first run to initilaze, v view the log to see when it's ready.

The ui will now create the first user for you, but we used to have to run:

docker exec -it paperless-ngx bash
python3 manage.py createsuperuser

Configuration

All settings are controlled via environment variables in your .env file. Key variables include:

Variable Default Description
PAPERLESS_IMAGE ghcr.io/paperless-ngx/paperless-ngx:latest Paperless Docker image
PAPERLESS_MARIADB_HOST paperless-db MariaDB host
PAPERLESS_MARIADB_DATABASE paperless Database name
PAPERLESS_MARIADB_USER paperless Database user
PAPERLESS_MARIADB_PASSWORD paperless Database password
PAPERLESS_MARIADB_ROOT_PASSWORD paperless MariaDB root password
PAPERLESS_SECRET_KEY changeme Secret key for Paperless
PAPERLESS_OCR_LANGUAGE eng OCR language for scanned documents
VOL_PATH ./data Base path for volume storage
TZ America/Vancouver Timezone

You can adjust these values in your .env (drived from sample.env) file before starting the containers.

For the full list of available options, see the Paperless-ngx configuration documentation.