返回应用列表
Paperless-ngx

Deploy Paperless-ngx on Your Own Server

Paperless-ngx is a community-supported document management system that transforms your physical documents into a searchable online archive so you can keep, well, less paper.

Productivity

想更快部署 Paperless-ngx到服务器?试试 Senate,一条命令完成部署,自动配置 HTTPS 和监控。

立即开始

什么是 Paperless-ngx?

Paperless-ngx is a document management system that transforms your physical documents into a searchable archive automatically.

了解更多

自托管 Paperless-ngx

按照以下步骤在您的服务器上部署。

1

安装 Docker

如果服务器上已安装 Docker,可跳过此步骤。

curl -fsSL https://get.docker.com | sh
2

配置

自定义以下设置。大多数情况下使用默认值即可。

General
3

部署

复制配置并在服务器上运行。

services:
  paperless_ngx:
    image: paperlessngx/paperless-ngx:2.15.3
    environment:
      PAPERLESS_ADMIN_MAIL: root@localhost
      PAPERLESS_ADMIN_PASSWORD: 253985f739
      PAPERLESS_ADMIN_USER: admin
      PAPERLESS_ALLOWED_HOSTS: paperless_ngx.your-domain.com
      PAPERLESS_CONSUMER_BARCODE_SCANNER: PYZBAR
      PAPERLESS_CONSUMER_BARCODE_TIFF_SUPPORT: "false"
      PAPERLESS_CONSUMER_DELETE_DUPLICATES: "false"
      PAPERLESS_CONSUMER_ENABLE_BARCODES: "false"
      PAPERLESS_CONSUMER_POLLING: "0"
      PAPERLESS_CONSUMER_RECURSIVE: "false"
      PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS: "false"
      PAPERLESS_CONSUMPTION_DIR: /usr/src/paperless/consume
      PAPERLESS_CONVERT_MEMORY_LIMIT: "0"
      PAPERLESS_CONVERT_TMPDIR: ""
      PAPERLESS_COOKIE_PREFIX: paperless_ngx
      PAPERLESS_CORS_ALLOWED_HOSTS: http://paperless_ngx.your-domain.com,https://paperless_ngx.your-domain.com
      PAPERLESS_CSRF_TRUSTED_ORIGINS: http://paperless_ngx.your-domain.com,https://paperless_ngx.your-domain.com
      PAPERLESS_DATA_DIR: /usr/src/paperless/data
      PAPERLESS_DBHOST: paperless_ngx-db
      PAPERLESS_DBNAME: paperless
      PAPERLESS_DBPASS: 4458107fc342459daa3a0c1ac3d459c8c5d8809f53d9172991cca2962f1502ac
      PAPERLESS_DBPORT: "5432"
      PAPERLESS_DBSSLMODE: prefer
      PAPERLESS_DBUSER: paperless
      PAPERLESS_FILENAME_DATE_ORDER: ""
      PAPERLESS_FILENAME_FORMAT: ""
      PAPERLESS_FILENAME_FORMAT_REMOVE_NONE: "false"
      PAPERLESS_IGNORE_DATES: ""
      PAPERLESS_LOGGING_DIR: /usr/src/paperless/log
      PAPERLESS_LOGROTATE_MAX_BACKUPS: "20"
      PAPERLESS_LOGROTATE_MAX_SIZE: "1048576"
      PAPERLESS_MEDIA_ROOT: /usr/src/paperless/media
      PAPERLESS_OCR_CLEAN: clean
      PAPERLESS_OCR_DESKEW: "true"
      PAPERLESS_OCR_IMAGE_DPI: ""
      PAPERLESS_OCR_LANGUAGE: eng
      PAPERLESS_OCR_LANGUAGES: ""
      PAPERLESS_OCR_MODE: skip
      PAPERLESS_OCR_OUTPUT_TYPE: pdfa
      PAPERLESS_OCR_PAGES: "0"
      PAPERLESS_OCR_ROTATE_PAGES: "true"
      PAPERLESS_OCR_ROTATE_PAGES_THRESHOLD: "12"
      PAPERLESS_OCR_SKIP_ARCHIVE_FILE: never
      PAPERLESS_OCR_USER_ARGS: ""
      PAPERLESS_OPTIMIZE_THUMBNAILS: "true"
      PAPERLESS_POST_CONSUME_SCRIPT: ""
      PAPERLESS_PRE_CONSUME_SCRIPT: ""
      PAPERLESS_REDIS: redis://paperless_ngx-redis:6379/0
      PAPERLESS_REDIS_PREFIX: ""
      PAPERLESS_SECRET_KEY: 0fe9f81fcb8b10b0bcbf7d158dd9c7c814176732ba683cf0620b4a22768b2fe4
      PAPERLESS_TASK_WORKERS: "1"
      PAPERLESS_THREADS_PER_WORKER: "1"
      PAPERLESS_THUMBNAIL_FONT_NAME: /usr/share/fonts/liberation/LiberationSerif-Regular.ttf
      PAPERLESS_TIKA_ENABLED: "1"
      PAPERLESS_TIKA_ENDPOINT: http://paperless_ngx-tika:9998
      PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://paperless_ngx-gotenberg:3000
      PAPERLESS_TIME_ZONE: UTC
      PAPERLESS_URL: http://paperless_ngx.your-domain.com
      PAPERLESS_WEBSERVER_WORKERS: "2"
      PAPERLESS_WORKER_TIMEOUT: "1800"
      USERMAP_GID: "1000"
      USERMAP_UID: "1000"
    volumes:
      - paperless_ngx-data:/usr/src/paperless/data
      - paperless_ngx-media:/usr/src/paperless/media
      - paperless_ngx-export:/usr/src/paperless/export
      - paperless_ngx-consume:/usr/src/paperless/consume
    depends_on:
      - paperless_ngx-db
      - paperless_ngx-redis
      - paperless_ngx-gotenberg
      - paperless_ngx-tika
  paperless_ngx-db:
    image: postgres:17
    environment:
      POSTGRES_DB: paperless
      POSTGRES_PASSWORD: 4458107fc342459daa3a0c1ac3d459c8c5d8809f53d9172991cca2962f1502ac
      POSTGRES_USER: paperless
    volumes:
      - paperless_ngx-db:/var/lib/postgresql/data
  paperless_ngx-gotenberg:
    image: gotenberg/gotenberg:8.19
  paperless_ngx-redis:
    image: redis:7
    volumes:
      - paperless_ngx-redis-data:/data
  paperless_ngx-tika:
    image: apache/tika:3.1.0.0-full
volumes:
  paperless_ngx-data: {}
  paperless_ngx-media: {}
  paperless_ngx-export: {}
  paperless_ngx-consume: {}
  paperless_ngx-db: {}
  paperless_ngx-redis-data: {}

然后运行:

docker compose up -d
4

访问

启动后,访问您的应用: http://localhost:8000

为什么要自托管 Paperless-ngx?

完全数据所有权

数据保存在您的服务器上,无第三方访问。

无月费

只需支付服务器费用,无按席位或用量收费。

完全控制

按您的需求自定义、备份和扩展。

隐私与合规

满足 GDPR、HIPAA 或内部安全要求。

技术细节

Docker 镜像

paperlessngx/paperless-ngx:${app_version}

官方文档

docs.paperless-ngx.com

想更快部署?

尝试 Senate!Senate 帮您处理 Docker、HTTPS、更新和监控。一条命令部署 300+ 应用。

在任意 Linux 服务器上安装:

sh -c "$(curl -sSL https://get.senate.sh)"