Paperless-ngx
Paperless-ngx is a community-supported, open-source document management system that transforms your physical documents into a searchable online archive. It performs OCR on scanned documents using Tesseract, provides full-text search, automatic tagging via machine learning, and organizes documents with correspondents, document types, and custom metadata. This stack deploys Paperless-ngx with PostgreSQL 16 for document metadata storage and Redis 7 for task queuing and caching. Paperless-ngx supports consuming documents from email, SFTP, or a watched folder, outputs PDF/A for long-term archival, and provides a responsive web interface with dark mode. It handles PDF, images, Office documents, and many other formats with barcode-based document splitting and ASN (archive serial number) assignment. After deployment, access the web UI on port 8000 and create your superuser account. Then start uploading or scanning documents to build your digital archive.
शामिल सर्विसेज़
paperless
ghcr.io/paperless-ngx/paperless-ngx:latest
एनवायरनमेंट वेरिएबल्स:
postgres
postgres:16-alpine
एनवायरनमेंट वेरिएबल्स:
redis
redis:7-alpine
जनरेटेड YAML
# Generated by ComposeHub (composehub.dev)
name: paperless
services:
paperless:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: always
ports:
- 8000:8000
volumes:
- paperless_data:/usr/src/paperless/data
- paperless_media:/usr/src/paperless/media
- paperless_export:/usr/src/paperless/export
- paperless_consume:/usr/src/paperless/consume
environment:
PAPERLESS_REDIS: redis://redis:6379
PAPERLESS_DBHOST: postgres
PAPERLESS_DBPORT: "5432"
PAPERLESS_DBNAME: ${POSTGRES_DB:-paperless}
PAPERLESS_DBUSER: ${POSTGRES_USER:-paperless}
PAPERLESS_DBPASS: ${POSTGRES_PASSWORD:-changeme}
PAPERLESS_SECRET_KEY: ${PAPERLESS_SECRET_KEY:-changeme-generate-a-long-random-string}
PAPERLESS_URL: ${PAPERLESS_URL:-http://localhost:8000}
PAPERLESS_ADMIN_USER: ${PAPERLESS_ADMIN_USER:-admin}
PAPERLESS_ADMIN_PASSWORD: ${PAPERLESS_ADMIN_PASSWORD:-changeme}
PAPERLESS_ADMIN_MAIL: ${PAPERLESS_ADMIN_MAIL:[email protected]}
PAPERLESS_OCR_LANGUAGE: ${PAPERLESS_OCR_LANGUAGE:-eng}
PAPERLESS_TIME_ZONE: ${TZ:-UTC}
PAPERLESS_TIKA_ENABLED: ${PAPERLESS_TIKA_ENABLED:-false}
USERMAP_UID: ${USERMAP_UID:-1000}
USERMAP_GID: ${USERMAP_GID:-1000}
networks:
- paperless
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
healthcheck:
test:
- CMD-SHELL
- curl -f http://localhost:8000 || exit 1
interval: 30s
timeout: 10s
retries: 5
start_period: 60s
deploy:
resources:
limits:
cpus: "2.00"
memory: 2048M
reservations:
cpus: "0.50"
memory: 512M
labels:
com.composehub.description: Paperless-ngx document management system with OCR
postgres:
image: postgres:16-alpine
restart: always
volumes:
- paperless_db:/var/lib/postgresql/data
environment:
POSTGRES_DB: ${POSTGRES_DB:-paperless}
POSTGRES_USER: ${POSTGRES_USER:-paperless}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-changeme}
networks:
- paperless
healthcheck:
test:
- CMD-SHELL
- pg_isready -U ${POSTGRES_USER:-paperless} -d ${POSTGRES_DB:-paperless}
interval: 5s
timeout: 5s
retries: 10
start_period: 30s
deploy:
resources:
limits:
cpus: "1.00"
memory: 512M
reservations:
cpus: "0.25"
memory: 128M
labels:
com.composehub.description: PostgreSQL 16 database for Paperless-ngx
redis:
image: redis:7-alpine
restart: always
command:
- redis-server
- "--save"
- "20"
- "1"
- "--loglevel"
- warning
- "--maxmemory"
- 256mb
- "--maxmemory-policy"
- allkeys-lru
volumes:
- paperless_redis:/data
networks:
- paperless
healthcheck:
test:
- CMD-SHELL
- redis-cli ping | grep PONG
interval: 5s
timeout: 5s
retries: 10
start_period: 10s
deploy:
resources:
limits:
cpus: "0.50"
memory: 320M
reservations:
cpus: "0.10"
memory: 64M
labels:
com.composehub.description: Redis 7 for Paperless-ngx task queue and caching
networks:
paperless:
driver: bridge
volumes:
paperless_data:
driver: local
paperless_media:
driver: local
paperless_export:
driver: local
paperless_consume:
driver: local
paperless_db:
driver: local
paperless_redis:
driver: local
त्वरित जानकारी
- सर्विसेज़
- 3
- नेटवर्क्स
- 1
- वॉल्यूम्स
- 6
कब उपयोग करें
यह टेम्पलेट एक paperless-ngx एनवायरनमेंट सेटअप के लिए आदर्श है। सभी सर्विसेज़ healthchecks, रिसोर्स लिमिट्स और उचित डिफ़ॉल्ट सेटिंग्स के साथ पहले से कॉन्फ़िगर्ड हैं। प्रोडक्शन में डिप्लॉय करने से पहले एनवायरनमेंट वेरिएबल्स कस्टमाइज़ करें।
सुझाव
- डिप्लॉय करने से पहले सभी डिफ़ॉल्ट पासवर्ड बदलें
- अपने हार्डवेयर के अनुसार रिसोर्स लिमिट्स की समीक्षा करें
- प्रोडक्शन HTTPS के लिए रिवर्स प्रॉक्सी जोड़ें
- डेटा वॉल्यूम्स के लिए बैकअप रणनीतियाँ कॉन्फ़िगर करें