Document Management - Let's go paperless
Paperless-ngx is used to digitize and organize documents. It supports OCR, tagging, and search, making it easy to manage scanned documents.
The setup includes multiple services such as a database and Redis for background processing.
Docker Compose
code
version: "3.8"
services:
paperless:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
container_name: paperless
depends_on:
- paperless-db
- paperless-redis
volumes:
- /mnt/nas/paperless/data:/usr/src/paperless/data
- /mnt/nas/paperless/media:/usr/src/paperless/media
- /mnt/nas/paperless/consume:/usr/src/paperless/consume
env_file:
- .env
networks:
- caddy_net
paperless-db:
image: postgres:15
container_name: paperless-db
volumes:
- /mnt/nas/paperless/db:/var/lib/postgresql/data
env_file:
- .env
paperless-redis:
image: redis:7
container_name: paperless-redis
networks:
caddy_net:
external: trueExplanation
- paperless: main app
- db: PostgreSQL for persistence
- redis: background tasks
- consume folder: drop files → auto processed
Notes
- OCR makes documents searchable
- Multi-container setup adds complexity but improves performance
- Works well with scanners and automated ingestion