Stirling-PDF 简介
Stirling-PDF 是开源、本地部署的 PDF 工具箱,纯内网使用,文档不会上传第三方。 功能:PDF合并/拆分/压缩/旋转/加水印、OCR图文识别、PDF转Word/图片、签名、去黑边、重排页码等,一共60+PDF工具。
特点:单容器,不需要数据库,部署简单。
群晖 Container Manager 完整部署步骤(沿用你volume2/docker目录习惯)
第一步:File Station 创建文件夹
路径:/volume2/docker/stirling-pdf
在这个目录下新建3个子文件夹
configs:存放程序配置tessdata:OCR语言包(中文识别需要)logs:日志目录
完整目录树
volume2/docker/stirling-pdf/ ├─ configs ├─ tessdata └─ logs
第二步:检查端口
默认端口:宿主机8080,容器内部固定8080。
先确认群晖192.168.0.51的8080端口是否被占用。
- 如果8080被占用:宿主机端口改成
18080:8080。
第三步:Container Manager → 项目 → 创建项目
项目名称:stirling-pdf
来源:编写docker-compose.yml
复制下面完整配置(已内置中文OCR、默认简体中文界面,可选关闭登录验证)
services:
stirling-pdf:
image: docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest
container_name: stirling-pdf
restart: unless-stopped
ports:
- "8080:8080"
environment:
- SYSTEM_DEFAULTLOCALE=zh-CN
- TESSDATA_PREFIX=/usr/share/tessdata
- SECURITY_ENABLELOGIN=false # false=免密码直接访问;true开启登录
volumes:
- /volume2/docker/stirling-pdf/configs:/configs
- /volume2/docker/stirling-pdf/tessdata:/usr/share/tessdata
- /volume2/docker/stirling-pdf/logs:/logs
security_opt:
- no-new-privileges:true
说明:
SECURITY_ENABLELOGIN=false内网使用推荐,打开网页直接进PDF工具,不用登录。需要外网访问时改成true并设置密码。
第四步:部署与启动
- 粘贴代码,点击下一步
- 资源限制保持默认,直接完成
- 项目会自动拉取镜像,首次镜像较大(约2.2G),等待下载完成自动启动容器
第五步:访问与中文OCR
访问地址:[http://192.168.0.51:8080](http://192.168.0.51:8080)
- 界面自带简体中文,右上角地球图标可切换语言
- 中文OCR:需要额外下载中文语言包
chi_sim.traineddata,放到/volume2/docker/stirling-pdf/tessdata,重启容器,OCR就可以识别中文扫描件。
第六步(可选):加到Homepage导航卡片(纯静态,无健康检测)
- Stirling-PDF:
icon: pdf
href: [http://192.168.0.51:8080](http://192.168.0.51:8080)
description: 本地PDF工具箱
常见坑点提醒
- 权限报错:File Station右键
stirling-pdf文件夹 → 属性 → 权限,给docker用户读写权限 - OCR不识别中文:缺少
chi_sim.traineddata中文训练包,放入tessdata目录,必须重启容器生效 - 镜像拉取超时:在Container Manager的镜像源配置国内加速源
错误解析
Get "[https://registry-1.docker.io/v2/](https://registry-1.docker.io/v2/)": dial tcp 47.88.58.234:443
典型:Docker 无法连接官方镜像仓库,网络拉取超时/连接失败。 不是 compose 写错,不是目录权限问题,单纯连不上 docker.io。
你刚才镜像地址
docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest这个域名,底层还是会回源到 docker.io,国内网络照样卡住。
方案1:更换镜像源(群晖Container Manager,优先操作)
- 关闭当前失败的stirling-pdf项目,删除这个项目。
- Container Manager → 设置 → 注册表,添加国内镜像加速器。
国内可用加速源示例:
[https://docker.mirrors.ustc.edu.cn](https://docker.mirrors.ustc.edu.cn) - 保存,重启Container Manager(群晖控制面板,重启Container Manager套件)。
群晖DSM7的Container Manager,修改注册表后必须重启套件,新的镜像源才生效。
方案2:把镜像地址替换成国内可访问的镜像(换compose里image行)
改用ghcr.io镜像(Stirling-PDF官方同时推送到ghcr,部分网络比docker.io稳定)
修改compose的image这一行:
image: ghcr.io/stirling-tools/stirling-pdf:latest
完整修改后的 compose.yml,直接复制新建项目:
services:
stirling-pdf:
image: ghcr.io/stirling-tools/stirling-pdf:latest
container_name: stirling-pdf
restart: unless-stopped
ports:
- "8080:8080"
environment:
- SYSTEM_DEFAULTLOCALE=zh-CN
- TESSDATA_PREFIX=/usr/share/tessdata
- SECURITY_ENABLELOGIN=false
volumes:
- /volume2/docker/stirling-pdf/configs:/configs
- /volume2/docker/stirling-pdf/tessdata:/usr/share/tessdata
- /volume2/docker/stirling-pdf/logs:/logs
security_opt:
- no-new-privileges:true
备选兜底:用阿里云镜像镜像中转(ghcr.io也不行时)
image: registry.aliyuncs.com/stirlingpdf/stirling-pdf:latest
排查小细节
- 群晖NAS网络:确认DNS改成公共DNS(223.5.5.5),很多时候DNS污染导致连不上registry。
- 不要同时开多个加速器,只保留一个。
- 项目创建顺序:先改镜像源 → 重启Container Manager → 再新建stirling-pdf项目拉取镜像。