Docker 玩法

飞牛NAS部署 Stirling-PDF:全能PDF工具箱

2026-07-30 2 admin

引言:为什么需要在飞牛NAS上部署Stirling-PDF

在日常办公或家庭使用中,PDF文件的处理需求无处不在:合并、拆分、压缩、转换格式、添加水印、提取文字……虽然市面上有众多在线工具,但它们往往存在文件大小限制、隐私泄露风险或需要付费订阅。自托管一套PDF工具箱成为最佳解决方案,而Stirling-PDF作为一款功能强大的开源PDF处理套件,几乎能满足你对PDF的所有操作。本文将手把手教你在飞牛NAS(fnOS)上使用Docker Compose部署Stirling-PDF,让你拥有一个私密、高效、无限制的PDF处理中心。

准备工作

在开始之前,请确保你的飞牛NAS满足以下条件:

  1. 飞牛NAS系统已更新至最新版本,并已安装Docker和Docker Compose(通常fnOS已预装)。
  2. 拥有管理员权限,能够通过SSH或NAS的终端工具执行命令。
  3. 预留至少1GB的磁盘空间用于存放Docker镜像和配置文件。

建议通过飞牛NAS的“文件管理器”或SSH登录到系统后台,后续操作主要围绕Docker Compose进行。

第一步:创建部署目录与配置文件

首先,我们需要为Stirling-PDF创建一个独立的文件夹,用于持久化配置和数据。打开终端(SSH或NAS自带的命令行工具),执行以下命令:

# 创建目录结构,可根据你的存储位置调整路径,例如放在 /vol1/1000/docker
mkdir -p /path/to/stirling-pdf/configs
cd /path/to/stirling-pdf

这里使用 /path/to/stirling-pdf 作为示例,请替换为你实际的路径(例如 /docker/stirling-pdf)。接着,在该目录下创建 docker-compose.yml 文件:

vim docker-compose.yml

将以下内容粘贴到文件中:

version: '3.3'
services:
  stirling-pdf:
    image: frooodle/s-pdf:latest
    container_name: stirling-pdf
    ports:
      - "8080:8080"
    volumes:
      - ./configs:/configs
      - ./trainingData:/usr/share/tesseract-ocr/4.00/tessdata
    environment:
      - DOCKER_ENABLE_SECURITY=false
      - INSTALL_BOOK_AND_ADOBE=true
      - LANGS=en_GB,zh_CN
    restart: unless-stopped

配置说明: - ports:将容器内部的8080端口映射到宿主机的8080端口,如果你有其他服务占用此端口,可改为其他端口如 8081:8080。 - volumes./configs 用于保存设置和用户数据;./trainingData 是OCR识别所需的语言包目录,提前创建空目录即可。 - environmentDOCKER_ENABLE_SECURITY=false 表示不开启登录认证(家庭内网使用建议关闭,外网暴露建议开启);LANGS 设置支持的语言,添加 zh_CN 以支持中文OCR。

保存并退出编辑器(vim中按 Esc,输入 :wq 回车)。

第二步:启动Stirling-PDF容器

执行以下命令启动容器:

docker-compose up -d

等待镜像拉取和容器启动。首次启动会下载约800MB的镜像,请保持网络畅通。启动完成后,可以通过以下命令查看容器状态:

docker ps -a | grep stirling-pdf

如果状态显示为 Up,说明部署成功。现在打开浏览器,输入 http://你的NAS IP:8080,你应该能看到Stirling-PDF的Web界面。

第三步:配置中文界面与OCR支持

Stirling-PDF默认界面为英文,但内置了多语言支持。登录Web界面后,点击右上角的“Settings”(齿轮图标),在“Language”下拉菜单中选择“简体中文”,界面会立即切换为中文。

如果你需要使用OCR功能(例如从扫描件中提取文字),需要安装中文语言包。容器启动时已挂载了 trainingData 目录,你可以手动下载中文OCR数据文件。进入容器内部执行:

# 进入容器
docker exec -it stirling-pdf /bin/sh

# 下载中文简体语言包(注意路径与挂载一致)
cd /usr/share/tesseract-ocr/4.00/tessdata
wget https://github.com/tesseract-ocr/tessdata/raw/main/chi_sim.traineddata

# 退出容器
exit

或者直接从GitHub下载后放入宿主机的 ./trainingData 目录,重启容器使其生效:

# 在宿主机上操作
cd /path/to/stirling-pdf
wget -P ./trainingData https://github.com/tesseract-ocr/tessdata/raw/main/chi_sim.traineddata
docker restart stirling-pdf

第四步:常用功能实战演示

部署完成后,我们就可以开始使用这些强大功能了。下面演示几个高频操作。

合并多个PDF文件:在首页点击“合并”,上传多个PDF文件,拖动调整顺序,点击“合并PDF”即可下载合并后的文件。整个过程在本地完成,不会上传到任何第三方服务器。

PDF转Word/图片:选择“转换”功能,上传PDF文件,在输出格式中选择“DOCX”或“PNG”,点击转换。Stirling-PDF基于LibreOffice引擎,转换质量高,支持批量处理。

添加水印或页码:点击“编辑”下的“水印”功能,可以添加文字水印或图片水印,支持调整透明度、位置和旋转角度。同样,“页码”功能可以快速为PDF添加页眉或页脚页码。

OCR识别:上传扫描版PDF或图片,选择“OCR”功能,语言选择“简体中文”,点击运行。系统会调用Tesseract引擎识别文字,生成可搜索的PDF或提取文本内容。

第五步:进阶配置与安全加固

如果你计划将Stirling-PDF暴露到公网使用,建议开启登录验证。修改 docker-compose.yml 文件中的环境变量:

environment:
  - DOCKER_ENABLE_SECURITY=true
  - SECURITY_USERNAME=admin
  - SECURITY_PASSWORD=your_strong_password

然后重启容器:

docker-compose down && docker-compose up -d

重新访问界面时,会弹出登录框,输入你设置的用户名和密码。注意,密码请使用强密码,并避免使用常见弱口令。

此外,为了节省NAS资源,你可以调整容器内存限制(可选)。在 docker-compose.ymlstirling-pdf 服务下添加:

deploy:
  resources:
    limits:
      memory: 512M

总结

通过以上步骤,你已经在飞牛NAS上成功部署了Stirling-PDF,拥有了一个功能完备、隐私安全的PDF工具箱。无论是日常文档处理,还是批量转换、OCR识别,它都能轻松胜任。Docker化的部署方式让升级和迁移变得极为简单,只需更新镜像即可获得最新功能。现在,你可以彻底告别那些功能受限、广告弹窗的在线PDF网站,享受自托管带来的自由与高效。如果遇到任何问题,欢迎在评论区留言讨论。