纯 Container Manager 界面操作。务必先停止容器,接着往下走。

操作步骤

第 1 步:备份配置

File Station 打开 /volume1/docker/stirling-pdf/,把 configs 文件夹整个复制一份(改名 configs.bak)。这一步别省。

第 2 步:改 YAML

「项目」→ 点 stirling-pdf → 上方「详细信息」→ 切到 「YAML 配置」 标签 → 用编辑器改:

services:
  stirling-pdf:
    image: ghcr.io/stirling-tools/stirling-pdf:latest
    container_name: stirling-pdf
    restart: unless-stopped
    ports:
      - "8083:8080"
    environment:
      - SYSTEM_DEFAULTLOCALE=zh-CN
      - DISABLE_SECURITY=true
      - STIRLING_SHOW_LICENSE_PROMPT=false
    volumes:
      - /volume1/docker/stirling-pdf/configs:/configs:rw
      - /volume1/docker/stirling-pdf/tessdata:/usr/share/tessdata:rw
      - /volume1/docker/stirling-pdf/logs:/logs:rw 
    security_opt:
      - no-new-privileges:true
    mem_limit: 2g

改完保存,先别点部署。

第 3 步:清除项目

「项目」→ 右键 stirling-pdf → 「清除」。

⚠️ 这一步看着吓人(官方说明写"移除容器、网络、存储空间和映像"),但它删的是 Docker 自己管理的 volume。你用的是 NAS 上的绝对路径挂载(/volume1/docker/... 这种),一个字节都不会被删。configs 和 tessdata 都安全——第 1 步的备份是双保险。

第 4 步:删旧镜像

左侧「映像」→ 找到 ghcr.io/stirling-tools/stirling-pdf → 删除。 (项目清除后镜像才删得掉,所以顺序不能反)

第 5 步:构建

「项目」→ 右键 stirling-pdf → 「构建」。 开始从 ghcr.io 拉 3.1.0。国内拉这个仓库可能慢,等几分钟看进度条。

第 6 步:启动

构建完如果项目是灰点(未运行),右键 → 「启动」。

验证是否成功

「容器」→ stirling-pdf → 「常规」页:

• 内存限制 显示 3.00 GB → YAML 改动生效了

• 「日志」页看到版本 3.1.0 → 升级成功

然后浏览器开 http://NAS的IP:8083,刷新,那个"有可用更新"弹窗应该消失了。中文界面和设置如果还在,说明 configs 挂载正常。

两个可能卡住的地方

构建时拉镜像超时:ghcr.io 国内经常拉不动。去「注册表」→「设置」→ Docker Hub → 编辑 → 启用注册表镜像,填个可用加速地址后重试。

最可靠的办法:SSH 两条命令

群晖图形界面那套"停止→删镜像→构建"步骤多、容易卡在某一步。既然你有 compose 文件,命令行其实更干脆。

第 1 步:开启 SSH DSM → 控制面板 → 终端机和 SNMP → 勾选「启动 SSH 功能」→ 应用。(用完可以再关掉)

第 2 步:用电脑连上去 Windows 用 PowerShell / 终端:

ssh 你的管理员账号@192.168.x.x

输密码,然后:

sudo -i

再输一次密码,拿到 root 权限。

第 3 步:找到 compose 文件在哪

find /volume1/docker -name "docker-compose.yml" 2>/dev/null

假设输出 /volume1/docker/stirling-pdf/docker-compose.yml,就进那个目录:

cd /volume1/docker/stirling-pdf

(路径以你实际输出为准)

第 4 步:拉新镜像 + 重建容器

docker compose pull
docker compose up -d

第一条拉 3.1.0 镜像,第二条检测镜像变了就自动重建容器。你挂载在 NAS 上的 configs、tessdata 一个都不会丢——这是卷挂载的意义。

如果提示 docker compose 命令不存在,改用老式写法 docker-compose pull / docker-compose up -d。

第 5 步:确认版本

docker logs stirling-pdf 2>&1 | grep -i "version\|started" | head -20

看到 3.1.0 就成了。回网页刷新,那个升级弹窗会消失。

顺便把配置改了

升级前用编辑器改一下 compose 文件(File Station 里直接双击编辑即可),把内存从 2g 调到 3g,并加上日志挂载:

    mem_limit: 3g
    volumes:
      - /volume1/docker/stirling-pdf/configs:/configs:rw
      - /volume1/docker/stirling-pdf/tessdata:/usr/share/tessdata:rw
      - /volume1/docker/stirling-pdf/logs:/logs:rw

这样 docker compose up -d 会一次性把升级和改配置都应用了,不用重建两次。

如果拉镜像超时

ghcr.io 在国内经常拉不动。docker compose pull 卡住或报错的话,用群晖的代理/加速:Container Manager → 注册表 → 设置 → Docker Hub → 编辑 → 启用注册表镜像,填一个可用的加速地址;或者给 NAS 挂个代理再拉。