在本地部署 Papermerge 文档管理系统:把扫描发票和合同变成可搜索的档案
2026/8/22 11:15:24 网站建设 项目流程

在本地部署 Papermerge 文档管理系统:把扫描发票和合同变成可搜索的档案

【免费下载链接】papermergeOpen Source Document Management System for Digital Archives (Scanned Documents)项目地址: https://gitcode.com/gh_mirrors/pa/papermerge

报销发票攒了三年,一找旧合同就得翻半天硬盘——扫描文档的问题在于它只是图片,占空间却没法被搜索。Papermerge 是一个面向扫描档案的开源文档管理系统:你上传 PDF,后台 worker 会对其做 OCR 识别,正文文字从此可查。这篇带你用 Docker 把它跑起来。

✅ 启动前的环境自查清单

开工前先确认四件事:

  • Linux 机器上已装好 Docker 与 Docker Compose
  • 至少 2GB 可用内存
  • 至少 20GB 磁盘空间(镜像和文档库都要占地方)
  • 网络稳定,首次拉取要下载好几个镜像

确认无误后,把代码拿到本地:

git clone https://gitcode.com/gh_mirrors/pa/papermerge cd papermerge

📦 Docker Compose 最短部署路径

仓库的docker/目录里已经备好了镜像和编排文件,你不需要自己装 Python 依赖、配数据库:

cd docker docker-compose up -d

这一步会同时拉起四个容器:主应用、PostgreSQL 数据库、Redis 队列、以及负责 OCR 的 worker 节点。文档和数据库都存在命名卷里,误删容器也不会丢文件。输出里所有服务都是Up状态,部署就算完成了。

🔑 第一次登录,三行说完

  • 浏览器访问http://localhost:8000,默认账号admin,密码admin
  • 这个账号是启动脚本自动建的,密码完全透明,登录后第一件事就是改掉它;
  • 改完再用新密码登录,之后别再告诉别人默认密码。

日常最影响使用的三项配置

OCR 默认语言—— 默认值是deu(德语),也就是新文档进来时按德语识别。什么时候要改:你的文档主要是英文或其他语言时。改成什么:在OCR_LANGUAGES里加上需要的语言(内置 deu、eng、spa、fra、rus、ron),并把默认值指过去。文件在docker/config/papermerge.config.py

Web 端口——docker-compose.yml里的端口映射默认是8000:8000。什么时候要改:8000 端口被本机其他服务占用时。改成什么:只动冒号左边,比如改成8080:8000,重启容器生效,容器内部地址不要动。

文档库存储位置—— 所有文件都落在media_root卷里,容器内挂载为/opt/media,对应配置项是MEDIA_DIR。默认不需要碰它;如果你想把文档库挪到指定磁盘、或做定期备份,改的就是它和 compose 文件里的卷映射。

数据库账号、Redis 地址这类其余配置分别在同目录的app.production.pyworker.production.py中,单机部署用默认值即可。

⚠️ 三个高频故障的排查记录

页面能打开,但文档一直停在处理中→ 现象是 OCR 结果永远出不来;原因多为 worker 容器没起来,或没和 app 共享媒体卷,任务排不进队列;解法:跑一次docker-compose ps,确认四个服务都是 Up,并核对 app、worker 都挂了media_root

启动时提示端口已被占用→ 现象是 app 容器反复重启;原因是本机已有进程占着 8000;解法:停掉占用方,或把端口映射左侧改掉再重启。

重装后备份"找不到"→ 现象是数据库和文档库都空了;原因是数据在 Docker 卷里而不是项目目录,拷文件夹没有意义;解法:用 Docker 的 volume 相关命令备份postgres_datamedia_root两个卷,恢复时挂回去即可。

部署完成后做什么

到此为止,你的扫描文档堆就有了一个能按文字搜索的家,OCR 结果就存在文档上。建议马上验证价值:挑 10 到 20 张近两年的旧发票传上去,用日期或金额直接搜一笔当年的报销——能搜到,这套档案中心就真正开始替你干活了。

【免费下载链接】papermergeOpen Source Document Management System for Digital Archives (Scanned Documents)项目地址: https://gitcode.com/gh_mirrors/pa/papermerge

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询