资讯动态

ocrbase免费自托管指南:Docker Compose一键部署完整教程(含PaddleOCR-VL GPU配置)

发布时间:2026/10/22 1:32:55 来源:尧图企业网站定制
【免费下载链接】ocrbase PDF -.MD/.JSON API SDK for PaddleOCR-VL with structured data extraction. Self-hostable.项目地址https://gitcode.com/gh_mirrors/oc/ocrbase点击查看免费下载ocrbase 是一个免费的自托管 PDF 智能解析服务基于 PaddleOCR-VL 视觉语言模型能将 PDF 文档一键转换为 Markdown 文本或结构化 JSON 数据。本文带你用 Docker Compose 一键部署 ocrbase 完整生产环境并附 PaddleOCR-VL 的 GPU 配置方法几分钟就能拥有自己的文档解析 API。核心关键词ocrbase 自托管 / Docker Compose 部署 / PaddleOCR-VL GPU 配置一、ocrbase 能做什么在部署之前先了解你即将运行的是什么功能API 端点说明 文档解析POST /v1/parse将 PDF 每一页 OCR 后输出干净的 Markdown 结构化抽取POST /v1/extract按你定义的 JSON Schema用 LLM 从文档中抽取结构化数据 任务管理GET /v1/jobs/:id异步任务队列提交请求拿到 job ID 后再查询结果⚡ 实时推送GET /v1/realtime通过 SSE 订阅任务进度无需轮询整套服务完全异步、基于 BullMQ 队列可以批量处理上千份文档。二、部署前环境准备部署 ocrbase 只需要很少的前置条件组件是否必需说明Docker Docker Compose✅ 必需生产部署全程只需 Docker无需额外安装运行环境NVIDIA GPU nvidia-container-toolkit⭕ 可选仅当你要自建 PaddleOCR-VL 时需要现成的 PaddleOCR-VL 服务地址⭕ 可选已部署好的 OCR 服务含云端实例填入PADDLE_OCR_URL即可 小贴士如果你已有云端的 PaddleOCR-VL 服务直接跳过 GPU 配置章节把它当作一个外部服务接入即可。三、克隆代码git clone https://gitcode.com/gh_mirrors/oc/ocrbase cd ocrbase项目采用 Monorepo 结构前后端分别位于 apps/server 和 apps/web 目录数据库模型定义在 packages/db后端 APIElysia Bun 编译产物apps/server/Dockerfile前端界面TanStack Startapps/web/Dockerfile编排总入口docker-compose.yml四、Docker Compose 一键启动三种 profile 用法打开 docker-compose.yml可以看到项目通过profiles把服务分成了三组按需启动1️⃣ 仅启动基础设施开发模式docker compose up -d这一条命令会拉起三个支撑服务并自动初始化存储桶容器端口用途ocrbase-postgres5432存储任务、Schema、API Key 等数据ocrbase-redis6379BullMQ 任务队列ocrbase-minio9000 / 9001对象存储9001 为 Web 控制台启动后minio-init容器会自动创建ocrbase存储桶2️⃣ 完整生产环境一键部署docker compose --profile prod up -d该命令会构建并启动serverAPI 服务端口 3000、web前端界面端口 3001、worker后台任务处理器三个容器它们会自动等待 Postgres 和 Redis 健康检查通过后再启动。参见 docker-compose.yml 生产服务段。 这就是一键部署的含义一条命令编译镜像 启动全部业务容器宿主机无需安装 Bun 等运行时。3️⃣ GPU 模式启动 PaddleOCR-VLdocker compose --profile gpu up -d若要生产服务 GPU OCR 一起跑docker compose --profile prod --profile gpu up -d五、PaddleOCR-VL GPU 配置详解ocrbase 本身不包含OCR 引擎它需要指向一个运行中的 PaddleOCR-VL 实例。docker-compose.yml已内置官方 NVIDIA GPU 镜像关键配置见 docker-compose.yml GPU 段paddleocr: image: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddleocr-vl:latest-nvidia-gpu ports: - 8080:8080 deploy: resources: reservations: devices: - driver: nvidia device_ids: [0] capabilities: [gpu]配置要点GPU 预留device_ids: [0]表示使用第一块显卡多卡环境可改为[0, 1]或用环境变量注入健康检查容器会每 30 秒探测http://localhost:8080/health模型加载较慢预留了 300 秒的启动宽限期请耐心等待多卡/指定显卡修改device_ids即可无需改动其他配置六、环境变量速查表.env在生产目录根下创建.env文件完整模板参考 docs/SELF_HOSTING.md 环境变量段# 必填 DATABASE_URLpostgresql://postgres:postgreslocalhost:5432/ocrbase BETTER_AUTH_SECRET至少32个字符的随机密钥 BETTER_AUTH_URLhttp://localhost:3000 CORS_ORIGINShttp://localhost:3001 REDIS_URLredis://localhost:6379 # OCR 服务核心 # 本机 GPU 部署时填 http://localhost:8080外部服务则填对应地址 PADDLE_OCR_URLhttp://localhost:8080 PADDLEOCR_VL_API_KEYlocal PADDLE_OCR_TIMEOUT_MS900000 WORKER_CONCURRENCY1 # 可选S3/MinIO 存储 S3_ENABLEDtrue S3_ENDPOINThttp://localhost:9000 S3_BUCKETocrbase S3_ACCESS_KEYminioadmin S3_SECRET_KEYminioadmin # 可选LLM仅 /v1/extract 结构化抽取需要 LLM_PROVIDERopenrouter OPENROUTER_API_KEYyour-openrouter-api-key三个最常踩坑的变量变量说明PADDLE_OCR_URL指向你的 PaddleOCR-VL 实例本机 GPU 部署就是http://localhost:8080PADDLEOCR_VL_API_KEY自托管实例不校验密钥填任意非空字符串如local即可WORKER_CONCURRENCY大文档约 200 页以上时建议设为1避免压垮 OCR 服务七、验证部署是否成功三步验证法第一步查看容器状态docker compose ps所有服务应处于running或healthy状态。第二步访问健康检查接口curl http://localhost:3000/v1/health/live # 存活检查 curl http://localhost:3000/v1/health/ready # 就绪检查确认数据库/队列已连通第三步打开 OpenAPI 交互文档浏览器访问http://localhost:3000/openapi即可在 Swagger 风格界面中直接测试所有接口前端界面在http://localhost:3001。一切就绪后发一个测试解析请求curl -X POST http://localhost:3000/v1/parse \ -H Authorization: Bearer 你的API_KEY \ -F filedocument.pdf八、进阶开发模式与大文档调优本地开发需要安装 Bunbun install # 安装依赖 cp .env.example .env # 复制并编辑环境变量 bun run db:push # 初始化数据库表结构 bun run dev # 启动 API worker热重载大 PDF 调优建议调大 OCR 请求超时PADDLE_OCR_TIMEOUT_MS90000015 分钟降低并发WORKER_CONCURRENCY1队列并发数通过QUEUE_CONCURRENCY环境变量控制默认 3日常运维命令场景命令查看日志docker compose logs -f worker停止服务docker compose --profile prod --profile gpu down升级版本git pull后重新docker compose --profile prod --profile gpu up -d数据备份重点备份postgres_data、redis_data、minio_data三个卷九、常见问题排查问题原因与解决paddleocr容器反复重启未安装 nvidia-container-toolkitGPU 未被容器识别安装后重启 Docker 服务worker一直报 OCR 连接失败检查PADDLE_OCR_URL是否可访问GPU 模型冷启动最长需 300 秒稍等片刻web页面能打开但请求 401前端与 API 域名不一致核对CORS_ORIGINS与VITE_SERVER_URL大文档解析超时按上文调大PADDLE_OCR_TIMEOUT_MS并降低WORKER_CONCURRENCY总结 回顾一下这条一键部署路线克隆代码→git clone拿到仓库配置.env→ 重点设置PADDLE_OCR_URL等 4 个必填变量一键启动→docker compose --profile prod --profile gpu up -d验证→/v1/health/ready/openapi文档页至此你就在自家服务器或一台带 GPU 的机器上拥有了一个完全可控的免费文档解析平台PDF 进、Markdown / 结构化 JSON 出还能通过 WebSocket 实时跟踪每一份文档的处理进度。完整的 API 端点清单与技术栈说明可继续阅读 docs/SELF_HOSTING.md 官方自托管文档。赞分享【免费下载链接】ocrbase PDF -.MD/.JSON API SDK for PaddleOCR-VL with structured data extraction. Self-hostable.项目地址https://gitcode.com/gh_mirrors/oc/ocrbase点击查看免费下载相关推荐BiliNote部署完全指南Docker Compose一键部署与GPU加速配置BiliNote部署完全指南Docker Compose一键部署与GPU加速配置 BiliNote是一款强大的AI视频笔记生成工具能够自动解析Bilibil人工智能AI 应用大模型RAG语音后端前端桌面应用SciPhi-Triplex-4bit安装避坑指南从环境配置到首次推理的完整教程SciPhi Triplex 4bit安装避坑指南从环境配置到首次推理的完整教程 如果你是第一次接触 SciPhi Triplex 4bit 本地推理这篇文3分钟上手Langfuse自托管Docker Compose一键部署指南3分钟上手Langfuse自托管Docker Compose一键部署指南 还在为LLM应用的可观测性工具部署繁琐而烦恼本文将带你通过Docker CompoAI应用LLMOps可观测性后端前端模型评测上一篇n8n 单节点错误输出onError main[1]完整接线指南两步配置、静默失败陷阱与验证方法下一篇OpenPCDet核心架构深度解析从点云到3D边界框的终极指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑