从零部署轻量档案数字化在线系统:30分钟落地OCR检索
准备工作
本次使用开源项目「纸飞机档案管理系统」(支持OCR、分类、权限),硬件最低要求1核2G云服务器/本地Linux虚拟机,软件环境为Docker+Docker Compose,覆盖Windows/Mac/Linux全平台。
1. 安装Docker+Docker Compose
- Windows/Mac用户:直接下载Docker Desktop官方安装包,地址为
https://www.docker.com/get-started/,安装时勾选“Use WSL 2”(Windows)/默认配置(Mac),重启后确保Docker Desktop右下角/顶部状态栏图标变绿。 - Linux用户(以Ubuntu 22.04为例):执行以下完整可复制命令:
- 更新软件源:
sudo apt update -y && sudo apt upgrade -y - 安装依赖:
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release - 添加Docker官方GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg - 添加Docker官方软件源:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null - 安装Docker Engine+Compose:
sudo apt update -y && sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin - 验证安装:
docker --version && docker compose version,显示版本号即为成功。
- 更新软件源:
2. 下载项目配置文件
在任意目录创建paperplane文件夹并进入,执行以下命令拉取配置模板:
Windows(需先打开PowerShell并切换到目标盘符)
mkdir paperplane; cd paperplane
curl -L -o docker-compose.yml https://gitee.com/zhoujing719/paperplane-doc/raw/main/docker/docker-compose.yml
curl -L -o .env https://gitee.com/zhoujing719/paperplane-doc/raw/main/docker/.env.example
Linux/Mac
mkdir paperplane && cd paperplane
wget https://gitee.com/zhoujing719/paperplane-doc/raw/main/docker/docker-compose.yml
wget -O .env https://gitee.com/zhoujing719/paperplane-doc/raw/main/docker/.env.example
系统配置
1. 修改环境变量文件
打开paperplane文件夹下的.env文件,仅需修改以下关键项,其余保持默认:
- 管理员账号密码:找到
ADMIN_USERNAME=admin(可改)、ADMIN_PASSWORD=123456(建议改成强密码,含字母+数字+特殊字符) - 数据持久化路径(可选,云服务器/虚拟机重启后数据不丢失):找到
DATA_DIR=./data,如果是云服务器可改成/var/paperplane/data,需提前创建该目录并授权:sudo mkdir -p /var/paperplane/data && sudo chmod 777 /var/paperplane/data - OCR配置:该项目集成免费开源OCR引擎PaddleOCR,无需额外申请API,保持默认即可。
2. 启动系统
在paperplane目录下执行启动命令:
docker compose up -d
首次启动会自动拉取MySQL、Redis、PaperPlane、PaddleOCR四个镜像,1核2G云服务器约需20-25分钟,本地配置高的约5-10分钟。
验证与初始化
1. 检查服务状态
执行docker compose ps,若四个服务的STATUS均显示Up(无healthcheck的直接Up,有的显示healthy),则启动成功。
2. 登录系统
- 本地部署:打开浏览器访问
http://localhost:8080 - 云服务器部署:先打开云服务器控制台的安全组/防火墙,放行8080端口的TCP入站规则,再访问
http://云服务器公网IP:8080

输入之前修改的管理员账号密码登录,进入系统首页。
3. 初始化分类目录
点击左侧导航栏「档案管理」-「分类管理」,点击右上角「新增分类」,可按业务创建多级分类,例如:
- 公司档案(一级)
- 合同(二级)
- 员工档案(二级)
- 个人档案(一级)
核心功能实操
1. 批量上传并自动OCR
点击左侧导航栏「档案管理」-「档案上传」:
- 步骤1:选择对应的分类目录
- 步骤2:点击「选择文件」或直接拖拽PDF、JPG、PNG格式的档案(支持单批次最多50个文件,单文件最大100MB)
- 步骤3:勾选「启用OCR识别」(默认开启)
- 步骤4:点击「开始上传」
上传完成后,系统会自动进入OCR识别队列,1核2G云服务器每页PDF/每张图片约需3-5秒,可在「档案管理」-「识别记录」查看进度。
2. 全文精准检索
点击左侧导航栏「档案检索」,输入档案中的关键词(例如合同编号、员工姓名),系统会从已完成OCR的档案全文中匹配结果,支持高亮显示关键词。
3. 档案下载与分享
在检索结果或档案列表中,点击单个档案右侧的「下载」可获取原始文件;点击「分享」可设置分享链接的有效期(1小时/1天/7天/永久)、是否需要密码,复制链接即可分享给他人。
4. 权限管理(可选)
如果需要多人协同,点击左侧导航栏「系统管理」-「用户管理」:
- 点击「新增用户」,填写用户名、密码、手机号
- 点击「角色管理」,可创建「普通用户」(仅查看指定分类档案)、「编辑用户」(查看+上传指定分类档案)等角色
- 在「用户管理」中给新增用户分配角色和分类权限
常见问题排查
1. 启动后访问404
先执行docker compose logs paperplane查看日志,若显示“Waiting for MySQL”,等待5分钟即可(MySQL首次启动需初始化数据库);若仍报错,检查.env文件中的数据库密码是否与docker-compose.yml中一致(默认无需修改)。
2. OCR识别无结果
先执行docker compose logs paddleocr查看PaddleOCR服务是否正常,若显示“Starting PaddleOCR service”,等待2分钟后再重新上传档案;若仍无结果,检查档案是否为纯图片PDF或清晰的图片(文字模糊会影响识别率)。
3. 云服务器访问超时
再次确认云服务器安全组/防火墙已放行8080端口的TCP入站规则,部分云服务器还需检查操作系统内部的防火墙(Ubuntu执行sudo ufw allow 8080,CentOS执行sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent && sudo firewall-cmd --reload)。