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

📅 2026/8/22 11:15:24
在本地部署 Papermerge 文档管理系统:把扫描发票和合同变成可搜索的档案
在本地部署 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.py和worker.production.py中单机部署用默认值即可。⚠️ 三个高频故障的排查记录页面能打开但文档一直停在处理中→ 现象是 OCR 结果永远出不来原因多为 worker 容器没起来或没和 app 共享媒体卷任务排不进队列解法跑一次docker-compose ps确认四个服务都是 Up并核对 app、worker 都挂了media_root。启动时提示端口已被占用→ 现象是 app 容器反复重启原因是本机已有进程占着 8000解法停掉占用方或把端口映射左侧改掉再重启。重装后备份找不到→ 现象是数据库和文档库都空了原因是数据在 Docker 卷里而不是项目目录拷文件夹没有意义解法用 Docker 的 volume 相关命令备份postgres_data与media_root两个卷恢复时挂回去即可。部署完成后做什么到此为止你的扫描文档堆就有了一个能按文字搜索的家OCR 结果就存在文档上。建议马上验证价值挑 10 到 20 张近两年的旧发票传上去用日期或金额直接搜一笔当年的报销——能搜到这套档案中心就真正开始替你干活了。【免费下载链接】papermergeOpen Source Document Management System for Digital Archives (Scanned Documents)项目地址: https://gitcode.com/gh_mirrors/pa/papermerge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考