分页: 1 / 1

在铁威马 NAS 上部署 Paperless-ngx 教程(使用 Docker Compose)

发表于 : 2026年 3月 31日 星期二 4:14 pm
Kevin
在铁威马 NAS 上部署 Paperless-ngx 教程(使用 Docker Compose)

本教程将指导你如何在铁威马 NAS 上通过 Docker Compose 部署 Paperless-ngx,实现文档归档、OCR 识别与网页管理。

教程目标:

我们将使用 Docker Compose 在铁威马 NAS 上部署:
  • Paperless-ngx:一套文档数字化管理系统,可用于归档发票、合同、扫描件、说明书等文件。
  • Redis:Paperless-ngx 所需的消息队列服务,用于处理后台任务。
前置准备:
  • 铁威马 NAS 已连接互联网
  • 铁威马 NAS 应用中心已安装 Docker EngineDocker Manager
  • 建议提前准备好一个存储目录,例如:/Volume1/docker/paperless-ngx
  • 如需 OCR 识别中文文档,建议后续配置中启用中文语言
第一步:创建项目目录

先在铁威马 NAS 中创建项目目录:

代码: 全选

/Volume1/docker/paperless-ngx
然后在该目录下创建以下子目录:

代码: 全选

data
media
export
consume
这些目录分别用于:
  • data:存放数据库和应用数据
  • media:存放文档原件、缩略图等资料
  • export:存放导出备份文件
  • consume:自动导入目录,把 PDF 或扫描件放进去会自动处理
图片

第二步:创建 Docker Compose 项目

打开 Docker Manager,新建一个 Compose 项目:

图片
  • 项目名称:paperless-ngx
  • 项目路径:/Volume1/docker/paperless-ngx
  • 选择创建 YAML 文件,粘贴以下内容并验证后点击“应用”

代码: 全选

version: "3.8" 

services:
  redis:
    image: redis:7  # Redis 镜像。Paperless-ngx 的定时任务、邮件抓取、索引优化、自动匹配训练等依赖 Redis。
    container_name: paperless-redis  # 容器名,可自定义。
    restart: unless-stopped  # 容器异常退出后自动重启,除非你手动停止。

  paperless-ngx:
    image: ghcr.io/paperless-ngx/paperless-ngx:latest  # Paperless-ngx 官方容器镜像。
    container_name: paperless-ngx  # 容器名,可自定义。
    depends_on:
      - redis  # 先启动 redis,再启动 paperless-ngx。只是启动顺序,不代表 Redis 一定已经“完全可用”。
    restart: unless-stopped  # 容器异常退出后自动重启,除非你手动停止。

    ports:
      - "8000:8000"  # 宿主机 8000 端口映射到容器 8000。浏览器通过 http://NAS_IP:8000 访问。

    environment:
      TZ: Asia/Shanghai  # 容器系统时区。不是强制必填,但建议填,便于日志和容器内时间显示正确。
      PAPERLESS_TIME_ZONE: Asia/Shanghai  # Paperless 应用自己的时区。很建议填,影响应用中的时间显示与处理。
      PAPERLESS_REDIS: redis://redis:6379  # Redis 连接地址。这个基本必须填,否则后台任务无法正常工作。
      PAPERLESS_URL: http://10.18.8.90:8000  # Paperless 对外访问地址。不是绝对必填,但建议填,尤其是以后要反代/HTTPS/域名访问时。
      PAPERLESS_SECRET_KEY: admin123  # Django/应用密钥。必须有,但绝对不要用这么弱的值,应该换成长随机字符串。
      PAPERLESS_ADMIN_USER: admin  # 初始管理员用户名。用于首次创建管理员账户。
      PAPERLESS_ADMIN_PASSWORD: admin123456  # 初始管理员密码。用于首次创建管理员账户。
      PAPERLESS_OCR_LANGUAGE: eng  # OCR 语言。eng=英文;

    volumes:
      - ./data:/usr/src/paperless/data      # 数据目录:数据库、索引等关键数据
      - ./media:/usr/src/paperless/media    # 文档原件、缩略图等媒体文件
      - ./export:/usr/src/paperless/export  # 导出目录:备份/导出文档时使用
      - ./consume:/usr/src/paperless/consume # 投递目录:把文件扔进这里,Paperless 会自动导入处理
第三步:配置说明

上面的 Compose 文件可以直接用于大多数用户的首次部署,下面解释几个关键项:
  • PAPERLESS_SECRET_KEY:请务必改成自己的随机长字符串,不要直接使用示例内容
  • PAPERLESS_ADMIN_USER:首次登录后台的管理员用户名
  • PAPERLESS_ADMIN_PASSWORD:首次登录后台的管理员密码
  • PAPERLESS_OCR_LANGUAGE:OCR 识别语言
说明:
  • 本教程默认使用内置 SQLite 数据库,适合家庭或轻量场景,部署更简单
  • Redis 是必须的,用于处理 Paperless-ngx 的后台任务
  • 首次部署建议先用这套最简方案跑通,再考虑 PostgreSQL 等高级配置

第四步:访问 Paperless-ngx 网页界面

图片


在浏览器中访问:

代码: 全选

http://你的NASIP:8000
首次登录请使用你在 Compose 文件里设置的管理员账号,例如:
  • 用户名:admin
  • 密码:admin123456
登录成功后,建议第一时间修改管理员密码-右上角-帐户信息。

第五步:开始使用 Paperless-ngx
图片
部署成功后,你可以通过以下几种方式使用它:
  • 网页上传文档:直接在 Web 页面上传 PDF、图片扫描件、发票、合同等
  • 自动导入:把文件放进 consume 目录,系统会自动识别并导入
  • OCR 识别:对扫描图片或 PDF 进行文字识别,方便全文搜索
  • 标签归档:可对文档进行标签、分类、日期、标题等管理
例如,你可以把以下文件统一放进去管理:
  • 发票
  • 保修单
  • 合同
  • 说明书
  • 证件扫描件
  • 报销材料

第七步:自动导入目录说明

如果你想实现“把文件丢进文件夹就自动归档”,可以使用我们上面挂载的 consume 目录:
图片

代码: 全选

/Volume1/docker/paperless-ngx/consume
只要把 PDF、图片等文件复制到这个目录,Paperless-ngx 就会自动扫描并处理。


这对 NAS 用户非常实用,比如你可以:
  • 把扫描仪输出目录直接指向这里
  • 把下载下来的电子发票丢进去
  • 定期把办公资料集中导入

注意事项:
  • Redis 必须正常运行,否则文档导入和后台任务可能异常
  • 目录权限要正确,否则可能出现无法写入、无法导入的问题
  • 首次部署建议不要随便删 data 目录,否则数据库可能丢失
  • OCR 会占用一定 CPU 资源,低性能 NAS 在批量导入时可能会变慢

总结:

通过本教程,你已经在铁威马 NAS 上成功部署了:
  • Paperless-ngx 文档管理系统
  • Redis 后台任务服务
现在你可以使用它来统一管理:
  • 发票
  • 合同
  • 说明书
  • 证件扫描件
  • PDF 文档
  • 各类办公资料
参考官方文档
官方文档

部署完成后,无论是手动上传,还是通过 consume 目录自动导入,都能大幅提升文档整理效率。非常适合家庭用户、小团队和喜欢折腾 NAS 的朋友。

Re: 在铁威马 NAS 上部署 Paperless-ngx 教程(使用 Docker Compose)

发表于 : 2026年 4月 13日 星期一 8:01 pm
sweeb
学习了,感谢