Document Management - Let's go paperless

May 11, 2025

docker · documents

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: true

Explanation

  • 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