> ## Content Index
> Fetch the complete content index at: https://sgpublic.xyz/llms.txt
> Use this file to discover other available public pages before exploring further.

# 使用 aliyundrive-webdav + rclone 单向同步到阿里云盘教程
- URL: https://sgpublic.xyz/p/2024/02/6aac9cb1810a4800015335fa/
- Published: 2024-02-18T13:31:44.000Z
- Updated: 2024-02-18T13:31:44.000Z
- Author: Haven Madray
- Tags: 基础设施, Docker, #wp-post

本教程使用全 Docker 部署，请自行提前安装 docker 等依赖。

首先部署 `aliyundrive-webdav`，`docker-compose.yaml` 示例：

```
version: '3'
services:
  aliyundrive-webdav:
    image: messense/aliyundrive-webdav:2.3.3
    container_name: aliyundrive-webdav
    restart: unless-stopped
    networks:
      - drives-chain-network
    environment:
      PORT: 3164
      REFRESH_TOKEN: xxxx

networks:
  drives-chain-network:
    name: drives-chain-network
```

其中 `REFRESH_TOKEN` 请根据 [messense/aliyundrive-webdav#获取-refresh-token](https://github.com/messense/aliyundrive-webdav?tab=readme-ov-file&ref=sgpublic.xyz#%E8%8E%B7%E5%8F%96-refresh-token) 中的内容获取。

然后部署 Rclone，配置文件示例：

```
[aliyundrive]
type = webdav
url = http://aliyundrive-webdav:3164/
vendor = nextcloud
```

`docker-compose.yaml` 示例：

```
version: '3.8'
services:
  rclone:
    image: rclone/rclone:1.65.2
    user: 1000:1000
    restart: unless-stopped
    networks:
      - drives-chain-network
    volumes:
      - /mnt/resource/Font:/data/local # 映射你需要的文件夹
      - /mnt/core/app/rclone/rclone.conf:/config/rclone/rclone.conf # 映射你自己的配置文件
      - /mnt/core/var/log/rclone:/config/rclone/logs # 映射你自己的日志目录
    environment:
      RCLONE_WEBDAV_NEXTCLOUD_CHUNK_SIZE: 0
    command: sync /data/local aliyundrive:MyNAS --config=/config/rclone/rclone.conf --no-update-modtime --bwlimit=20M --log-file=/config/rclone/logs/rclone.log --log-level=INFO

networks:
  drives-chain-network:
    external: true
```

其中 `command` 部分解释：

- `sync /data/local aliyundrive:MyNAS`：将 `/data/local` 目录单向上传同步到 `aliyundrive` 的 `MyNAS` 目录
- `--config=/config/rclone/rclone.conf`：读取配置文件 `/config/rclone/rclone.conf`
- `--no-update-modtime`：根据 [messense/aliyundrive-webdav#rclone](https://github.com/messense/aliyundrive-webdav?tab=readme-ov-file&ref=sgpublic.xyz#rclone) 中描述添加。
- `--bwlimit=20M`：（可选）限制带宽为 20Mbps
- `--log-file=/config/rclone/logs/rclone.log`：（可选）将日志写入到 `/config/rclone/logs/rclone.log`
- `--log-level=INFO`：（可选）日志等级为 `INFO`

其中 `environment` 部分解释：

- `RCLONE_WEBDAV_NEXTCLOUD_CHUNK_SIZE=0`：根据 [messense/aliyundrive-webdav - issue#889](https://github.com/messense/aliyundrive-webdav/issues/889?ref=sgpublic.xyz) 中介绍的解决方案添加。