
Paperless-ngx完整教程四步部署一套可全文检索的扫描文档管理系统【免费下载链接】paperless-ngxA community-supported supercharged document management system: scan, index and archive all your documents项目地址: https://gitcode.com/GitHub_Trending/pa/paperless-ngx把上百张发票、账单放进一个文件夹一分钟后在浏览器里敲下电费就能命中对应文件——这是 paperless-ngx 的日常用法把纸质文档扫描、OCR 识别并归档成可全文检索的数字档案安装完成后在127.0.0.1:8000打开网页即可使用。本文按硬件自查 → 手动部署 → 跑通首次处理的顺序走一遍所有路径均可在仓库中直接核对。Paperless-ngx能做什么一张表看懂定位一句话定位社区维护的文档管理系统DMS负责把纸变成可搜索的档案。维度说明适用场景家庭账单、企业票据、合同与发票的数字化归档个人单机或小型团队共用均可核心能力消费目录自动接收、OCR 文字识别基于 Tesseract、全文索引、对应人/标签/文档类型元数据、PDF/A 归档、权限与共享部署方式推荐 Docker Compose 一键编排webserver、数据库、任务队列 4 个容器也支持裸机安装硬件要求amd64、arm、arm64 架构均支持树莓派可运行但 OCR 较慢部署前自查硬件与环境要求对照项目最低要求推荐配置说明Docker20.10最新稳定版容器化部署的前提docker version可验证Docker Compose2.0最新版用docker compose插件形态即可内存2 GB4 GBOCR 与索引构建是主要内存消耗点存储10 GB50 GB归档 PDF/A、缩略图与搜索索引都要落盘OCR 语言包内置 eng、deu、fra、ita、spa按文档语言加装容器默认只装这 5 种中文文档需额外配置另外确认当前用户对 Docker 有执行权限脚本中用docker stats --no-stream验证否则先执行sudo usermod -aG docker $USER并重新登录。手动部署四步法Docker Compose 拉起 8000 端口不用安装脚本也能完成同等效果手动方式更透明。仓库的 安装文档 与 排错文档 可随时对照。取回三个配置文件。把仓库克隆到本地从docker/compose/目录取 PostgreSQL 版编排文件与环境变量模板git clone https://gitcode.com/GitHub_Trending/pa/paperless-ngx mkdir -p ~/paperless cd ~/paperless cp ~/paperless-ngx/docker/compose/docker-compose.postgres.yml docker-compose.yml cp ~/paperless-ngx/docker/compose/docker-compose.env ~/paperless-ngx/docker/compose/.env .编辑docker-compose.env。文件顶部注明了所有配置项见文档新手只需动四行PAPERLESS_SECRET_KEY换成64位随机串 PAPERLESS_TIME_ZONEAsia/Shanghai PAPERLESS_OCR_LANGUAGEchi_sim PAPERLESS_OCR_LANGUAGESchi_simPAPERLESS_SECRET_KEY是会话与签名的密钥不能保留默认的change-me可用python3 -c import secrets; print(secrets.token_urlsafe(64))生成。PAPERLESS_TIME_ZONE不填会导致文档日期差一天。若你的 UID/GID 不是 1000再补USERMAP_UID与USERMAP_GID两行保证宿主机用户能写consume目录。拉取镜像并启动docker compose pull docker compose up -d编排文件会同时拉起 broker任务队列、dbPostgreSQL与 webserver 三个服务日志里确认无报错即可。验证。浏览器访问http://127.0.0.1:8000首次进入会引导你创建超级用户账号端口冲突时把docker-compose.yml里的- 8000:8000改为- 8010:8000即可换端口。首次上手一份扫描件如何进入索引以你的视角走一遍主流程。把一份扫描 PDF 复制进consume目录编排文件里挂载为./consume:/usr/src/paperless/consume消费进程通过 inotify 文件通知立刻感知到新文件随即调用 OCR 提取文字把原件转成 PDF/A 格式存进media目录同时生成缩略图并写入搜索索引。整个过程通常在几十秒内完成。处理完后打开文档列表这份文档已带上有默认对应人、标签与文档类型的元数据。系统内置的自动匹配auto-matching会基于已归档文档持续学习后续同类发票的归类准确度会逐步提高。列表页可切换表格视图批量勾选多份文档一次修改标签或对应人在搜索框输入电费 2026命中结果会高亮显示对应文本位置——这一步验证了 OCR 与索引链路真正可用。若结果不对优先检查第 2 步的 OCR 语言配置。常见坑与排查四个高频问题文件放进 consume 后一直不处理→ 原因通常是消费目录在 NFS 等不支持 inotify 的文件系统上或容器内用户无权写入。前者把PAPERLESS_CONSUMER_POLLING_INTERVAL设为正数如 5 秒改用轮询后者核对USERMAP_UID/USERMAP_GID是否与宿主机一致。日志出现OCR for XX failed警告→ 说明文档语言没有对应的 Tesseract 语言包。在docker-compose.env的PAPERLESS_OCR_LANGUAGES中追加语言码中文简体为chi_sim重建容器后重跑文档。8000 端口被占用→ 现象是 webserver 容器反复重启。改docker-compose.yml中 ports 映射的左侧端口后docker compose up -d重新拉起。启动时报chown: Operation not permitted→ 容器需要调整挂载目录属主挂载到不支持改属主的共享盘时就会失败。把data、media、consume三个目录指到本地磁盘即可解决。进阶玩法工作流、邮件规则与自定义字段工作流源码位于 src/documents/workflows/是最值得先上的自动化以文档消费开始/添加完成等为触发器串联设置标签、分配对应人、改存储路径、发送 webhook等动作例如带 #inbox 标签的文档自动移入待归档路径并打发票标签配置界面如下邮件规则src/paperless_mail/让系统按 IMAP 规则定期拉取指定发件人的附件——很多银行和物业的电子账单根本不用扫描配好规则后附件自动走完消费流程。自定义字段与共享链接见 高级用法文档给文档挂合同编号、金额等结构化字段后可参与筛选与全文检索分享链接则允许在不开通账号的情况下把单份文档发给外部人员适合把这张发票给会计这类场景。日常维护清单备份、升级与安全备份data、media、数据库卷三个目录与docker-compose.env一起备份缺任何一份都无法完整还原建议 cron 每日增量、每周全量。升级docker compose pull docker compose up -d即可换新版本升级前先看 变更日志 确认有无破坏性变更并保留旧镜像标签以便回滚。安全PAPERLESS_SECRET_KEY定期轮换对外访问走反向代理 HTTPS日常操作使用普通账号超级用户仅用于初始化与管理。行动清单按自查表确认 Docker、内存与存储达标克隆仓库取回三个配置文件。配置密钥、时区、OCR 语言三项后docker compose up -d在 8000 端口创建账号。投一份真实扫描件进consume目录确认 PDF/A 归档与全文检索都命中。配置第一条工作流如自动打标签并建立每日备份任务。按这份清单走完你手上就是一个投进去就能搜到的档案库后续所有优化都是在这个底盘上加装。【免费下载链接】paperless-ngxA community-supported supercharged document management system: scan, index and archive all your documents项目地址: https://gitcode.com/GitHub_Trending/pa/paperless-ngx创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考