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>
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
- Start the container:
docker compose up -d - Open http://localhost:8000 in your browser
- 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.