CloudDrive2 部署与接入

从容器启动到自动读取挂载点,让云盘目录真正可用。

1. 1. 准备 Linux / NAS 主机

确认系统支持 FUSE,存在 /dev/fuse,并准备持久化的 CD2 配置目录与云盘挂载目录。下方示例使用宿主机 /mnt/cache/CloudNAS;按自己的 NAS 路径调整。示例采用 CD2 官方支持的 Host 网络与 FUSE 权限配置。

配置 / 命令
services:
  clouddrive2:
    image: cloudnas/clouddrive2:latest
    container_name: clouddrive2
    restart: unless-stopped
    network_mode: host
    pid: host
    privileged: true
    devices:
      - /dev/fuse:/dev/fuse
    environment:
      - CLOUDDRIVE_HOME=/Config
      - TZ=Asia/Shanghai
    volumes:
      - ./cd2-config:/Config
      - /mnt/cache/CloudNAS:/CloudNAS:shared

2. 2. 启动 CD2

将示例保存为 compose.cd2.yml,创建目录后启动。打开 http://服务器IP:19798,注册或登录 CD2,添加自己的 115 账号。Host 网络不再使用 ports 映射;19798 是这台宿主机上的 CD2 入口。

配置 / 命令
mkdir -p /mnt/cache/CloudNAS /mnt/user/media ./cd2-config
docker compose -f compose.cd2.yml up -d
docker compose -f compose.cd2.yml logs --tail=100

3. 3. 确认共享挂载传播

CD2 的 /CloudNAS 使用 :shared;宿主机上的对应挂载点也要支持 shared / rshared。若容器启动提示挂载未共享,先检查宿主机传播属性。下方命令用于普通 Linux 的独立挂载点示例;NAS 的持久化方式按系统设置,宿主机重启后也要验证。

配置 / 命令
findmnt -o TARGET,PROPAGATION -T /mnt/cache/CloudNAS
# 如需将该目录单独设为共享挂载点,按宿主系统方案执行:
mountpoint -q /mnt/cache/CloudNAS || sudo mount --bind /mnt/cache/CloudNAS /mnt/cache/CloudNAS
sudo mount --make-rshared /mnt/cache/CloudNAS

4. 4. 配置 CloudDrive 挂载与 Token

在 CD2 的挂载设置中,挂载点名称使用 CloudDrive,源目录选择根目录 /,启用启动时自动挂载,挂载在 /CloudNAS 下。创建供 DIAN115 使用的 API Token,至少允许文件读取、创建、修改与删除。 挂载源目录和 API Token 的根目录都必须选择 /,不能仅授权某个云盘或业务子目录。

5. 5. 在 DIAN115 连接 CD2

进入系统设置 → 网盘文件服务,选 CD2,填写如 http://192.168.1.10:19798/ 的 API 地址与 Token。保存后点击“自动读取”,确认挂载路径类似 /CloudNAS/CloudDrive。这里使用 DIAN115 容器内看到的路径,不填宿主机 /mnt/cache/CloudNAS。 以实际 CD2 配置或自动读取值为准,CloudDrive 为挂载名称示例;不要仅从卷映射推导或改写字段。测试并保存设置后,按页面提示重启。

6. 6. 关联主账号与验证

进入账号配置,添加 115 主账号,选中它实际对应的 CD2 云盘。云盘名称使用 CD2 中的真实名称,如 115open;目录从正确云盘的根开始选择。最后检查文件管理能浏览该云盘,再创建整理和 STRM 规则。