ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

10分钟自部署 RetainPDF:Docker Compose 一键启动私有 PDF 翻译服务的完整实操

10分钟自部署 RetainPDF:Docker Compose 一键启动私有 PDF 翻译服务的完整实操 10分钟自部署 RetainPDFDocker Compose 一键启动私有 PDF 翻译服务的完整实操【免费下载链接】retain-pdf在保留版面、公式与结构的前提下进行 PDF 翻译适用于科研与技术文档项目地址: https://gitcode.com/gh_mirrors/re/retain-pdfRetainPDF 是一个面向科研与技术文档的开源PDF 翻译服务在保留版面、公式与结构的前提下翻译 PDF图片型/扫描版文档同样支持。本文手把手教你用Docker Compose在 10 分钟内一键部署私有 RetainPDF 服务不装依赖、不配显卡、只需 3 条命令新手也能跑通从启动到出译文的完整流程。 部署前准备硬件与环境要求RetainPDF 主要吃 CPU、内存和网络不依赖独立显卡一台普通云服务器甚至家里的台式机就能跑。项目最低要求推荐配置操作系统LinuxUbuntu 22.04 / 24.04同左CPU4 核8 核多人同时使用内存8GB16GB 及以上磁盘10GB 可用空间20GB架构linux/amd64或linux/arm64均可—软件Docker Docker Compose— Mac M 系列、树莓派或 ARM 服务器请选择linux/arm64镜像变体。轻量自用 4 核 8GB 即可起步团队共享建议 8 核 16GB。先自检环境两条命令都有版本号输出即可docker --version docker compose version 一键启动3 条命令拉起 PDF 翻译服务进入仓库自带的一键部署目录 ops/deployment/docker/delivery/整套服务由 docker-compose.yml 编排只有两个容器appRust API 翻译流水线负责 OCR、翻译与排版渲染默认拉取retainpdf-app镜像数据持久化在app_data卷对应容器内/datawebNGINX 静态前端web会等app通过健康检查后才启动避免页面能打开但接口全 502。git clone https://gitcode.com/gh_mirrors/re/retain-pdf.git cd retain-pdf/ops/deployment/docker/delivery docker compose up -d⚠️ 首次启动会从 Docker Hub 拉取镜像并等待app就绪耐心等待 13 分钟。启动后默认访问地址http://127.0.0.1:40001 启动前必改3 个关键配置文件交付包内置了示例配置正式使用前只需改 3 个文件其余参数开箱即用。1. 后端密钥docker/auth.local.jsonauth.local.json 是 API 鉴权白名单把占位值换成你自己的随机长字符串api_keys: [这里换成你的随机密钥]2. 前端代理docker/web.envweb.env 中的RETAINPDF_PROXY_API_KEY必须与上面的 key 一致——它由 NGINX 在服务端注入不会暴露在浏览器里。该文件还预留了FRONT_MODEL默认模型、FRONT_BASE_URL模型服务地址、FRONT_OCR_PROVIDER默认paddle等可选字段留空也没关系最终用户可在页面右上角的API 配置弹窗中自行填写。3. 运行参数docker/app.envapp.env 控制并发与上传限制默认值适合个人使用变量默认值说明RUST_API_MAX_RUNNING_JOBS4同时运行的翻译任务数RUST_API_UPLOAD_MAX_BYTES200MB单个 PDF 大小上限RUST_API_UPLOAD_MAX_PAGES300单个 PDF 页数上限 各变量的完整说明见 Docker 部署说明镜像构建细节分别在 Dockerfile.app 与 Dockerfile.web。✅ 验证服务是否启动成功看容器状态web容器显示healthy即代表全链路就绪compose 里app的健康检查调用/ready包含数据库与全部受监管运行时docker compose ps docker compose logs -f app访问页面浏览器打开 http://127.0.0.1:40001上传一篇英文 PDF选择 OCR provider 与翻译模型几分钟后即可下载保留排版的译文 PDF、Markdown 或 ZIP 打包。 端口40001前端、41000完整 API、42000扁平提交接口默认只绑定127.0.0.1本机以外的机器无法直连天然更安全。 部署后体验一个书架管理所有文档服务跑起来后登录页面进入「图书馆」上传的每篇 PDF 都会变成书架上的一本书翻译状态一目了然译文 PDF 与原文可同页并排对照阅读公式、图表、引用位置一一对应核对非常方便除 PDF 外还能同屏查看Markdown 译文公式与图片完整保留内置文档 AI 问答围绕当前文档直接提问回答附带页码与原文引用适合快速抓论文核心结论 进阶用域名 NGINX 反向代理对外提供团队共享时宿主机 NGINX 只需反向代理到127.0.0.1:40001不要把域名直接指向 41000/42000。仓库提供了完整示例 retainpdf.example.conf部署要点client_max_body_size 256m放行大 PDF 上传/api/v1/ai/ask与任务实时事件接口是 SSE 长连接禁止缓冲公网暴露务必加 Basic Auth、OAuth2 Proxy 或 Cloudflare Access 任一层访问门禁若不需要宿主机直调 API可删掉 compose 中 app 的41000/42000端口映射web 容器通过 Docker 内部网络访问app:41000。 日常运维更新、备份与排错升级到新版本compose 默认latest标签docker compose pull docker compose up -d数据备份所有上传文件、任务产物、检查点、数据库都在app_data卷/data中整卷备份才能保证断点续传产物完整只拷 SQLite 文件是不够的。指定镜像版本启动适合生产环境锁定版本APP_IMAGEwxyhgk/retainpdf-app:version \ WEB_IMAGEwxyhgk/retainpdf-web:version \ docker compose up -d常见问题速查现象原因与处理页面能开但接口 401/403web.env的RETAINPDF_PROXY_API_KEY与auth.local.json中的 key 不一致容器反复重启docker compose logs app查日志常见为数据目录不可写上传被拒绝调大app.env的RUST_API_UPLOAD_MAX_BYTES/MAX_PAGES想远程访问 40001不要把HOST_BIND_ADDRESS改成0.0.0.0裸奔请走域名 反向代理 门禁 相关文件索引文件作用docker-compose.yml编排入口app web 双容器docker/app.env后端运行参数端口、并发、上传限制docker/web.env前端运行时配置代理 key、模型默认值docker/auth.local.jsonAPI 鉴权白名单Docker 部署说明小白/专业用户/开发者三级教程 API 示例retainpdf.example.conf域名反向代理 NGINX 示例10 分钟两条命令加三处配置一台没有显卡的普通服务器就能拥有私有、可审计、可无限次使用的 PDF 翻译服务——论文再多版面照旧公式无损。【免费下载链接】retain-pdf在保留版面、公式与结构的前提下进行 PDF 翻译适用于科研与技术文档项目地址: https://gitcode.com/gh_mirrors/re/retain-pdf创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表