Duplicacy Docker 许可证失效排查与永久修复

记录时间:2026-03-10
运行环境:Debian(Docker,Duplicacy Web UI)

问题现象

Duplicacy Web UI 中所有 backup 任务状态显示 Invalid or expired licensecheck 任务正常。

问题根因

  1. 容器 hostname 不固定:默认以容器 ID 作为机器名,重建后变化,导致许可证绑定的机器标识变化;
  2. machine-id 不持久化/var/lib/dbus/machine-id 在容器重建后重生,亦会触发失效;
  3. 联网刷新失败:Duplicacy 个人版免费但需 每月联网duplicacy.com 刷新许可,若当时网络异常也会临时报错。

临时恢复

docker restart duplicacy

重启通常可立即恢复,但并不解决根因

永久修复步骤

1) 修复前检查

# 当前容器主机名(若像 6c7fee0bd295 这种即为容器ID)
docker exec duplicacy hostname

# 记录当前 machine-id(后续持久化)
docker exec duplicacy cat /var/lib/dbus/machine-id

# 查看挂载配置
docker inspect duplicacy --format='{{json .HostConfig.Binds}}'

2) 将 machine-id 写入持久化目录

mkdir -p /opt/duplicacy/config

echo "$(docker exec duplicacy cat /var/lib/dbus/machine-id)" \
  > /opt/duplicacy/config/machine-id

cat /opt/duplicacy/config/machine-id

3) docker-compose.yml 固定 hostname + 挂载 machine-id

示例(路径按你的实际目录替换)。

services:
  duplicacy:
    image: saspus/duplicacy-web:latest
    container_name: duplicacy
    hostname: duplicacy-server   # 关键:固定 hostname
    environment:
      - PUID=0
      - PGID=0
      - TZ=Asia/Shanghai
    ports:
      - "3875:3875"
    volumes:
      - /opt/duplicacy/config/machine-id:/var/lib/dbus/machine-id  # 关键:固定 machine-id
      - /opt/duplicacy/config:/config
      - /opt/duplicacy/storage:/storage
      - /opt:/data/opt
      - /root:/data/root
      - /etc:/data/etc
    restart: unless-stopped

两处关键:

  • hostname: duplicacy-server — 固定机器名,避免容器 ID 变化;
  • /var/lib/dbus/machine-id — 从宿主持久化挂载,容器重建后保持一致。

4) 重新部署

cd ~/docker配置文件/duplicacy
# Docker Compose v2 命令
docker compose down && docker compose up -d

5) 验证

docker exec duplicacy hostname
# 期望:duplicacy-server

docker exec duplicacy cat /var/lib/dbus/machine-id
# 期望:与 /opt/duplicacy/config/machine-id 一致

然后打开 http://服务器IP:3875,Dashboard 应恢复正常。

若仍未恢复:检查外网连通

Duplicacy 免费许可每月需联到 duplicacy.com 刷新:

# 容器内直连测试
docker exec duplicacy curl -I --max-time 10 https://duplicacy.com

docker exec duplicacy nslookup duplicacy.com

# 如容器无 nc 可在宿主测
nc -zv duplicacy.com 443

预期: curl 返回 200/301;若为 000/超时,检查宿主防火墙、DNS 或网络策略。

常见问答 / 注意事项

  • 是否必须付费? 个人非商业使用免费;只需保证每月能联到许可端点。
  • PUID/PGID 用 0 是否安全? 为简化演示保留 0/0;生产建议映射非 root 账户,并校对卷目录权限。
  • Compose 文件位置:示例为 ~/docker配置文件/duplicacy/docker-compose.yml,按你实际项目路径调整。
  • 时间同步:容器时间严重漂移也可能导致 TLS/验证异常;确保宿主 NTP 正常。

修复后预期

  • ✅ All successfully checked
  • ✅ Storages: 2(示例:本地 + OneDrive)
  • ✅ Backups: 8 scheduled
  • ✅ Schedules: 3 active

所有 backup 任务不再显示 Invalid or expired license

暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
加载中...