**什么是 Rclone ?** > Rclone 是一个命令行程序,用于管理云存储上的文件。它是云供应商 Web 存储界面的功能丰富的替代品。支持超过 40 种云存储产品 ,包括 S3 对象存储、企业和消费者文件存储服务以及标准传输协议。支持常见的 Amazon Drive 、Google Drive 、OneDrive 、Dropbox 等云存储。 **什么是 Rclone Browser ?** > 用于 Rclone 命令行工具的简单跨平台 GUI。支持 Windows、macOS 、GNU/Linux 和 BSD 家族。 `Rclone` 是一款的命令行工具,支持在不同对象存储、网盘间同步、上传、下载数据。所以如果你需要在不同的网盘之间迁移数据,`Rclone` 绝对是不二之选。 之前老苏是在 `Windows` 上使用,但是命令总是比较难记的,所以写了很多批处理文件来实现不同的功能,后来用了 `Rclone Browser` 就把命令忘到了脑后,反正常用的几个功能 `Rclone Browser` 都已经具备了。 自从老苏上回把监控从 `iSpy` 换成 `ZoneMinder` 之后,已经不再有 7\*24 小时开机的 `Windows` 主机了,所以自然而然的想到是否可以在群晖上继续使用 `Rclone Browser` ,从而实现: * 目标1:WEB 方式对多个云盘进行统一管理,包括上传、下载、同步、备份等操作; * 目标2:Jellyfin、Emby、Plex、Airsonic等多媒体软件直接播放云盘中的电影和音乐; 如果你只想实现目标1,可以参考第一部分的 `常规安装` 方式,比较简单少折腾,如果要同时实现目标1和2,建议直接跳到第二部分的 `命令行安装` 方式。 > * 这篇文章不是 `Rclone` 或者 `Rclone Browser` 的教程,所以如果您还不会使用这两者之一,建议您先百度一下。 > * 白嫖的网盘不要放重要数据,不要放重要数据,不要放重要数据。 在群晖上以 Docker 方式安装。 在注册表中搜索 `rclonebrowser` ,选择第一个 `romancin/rclonebrowser` ,版本选择 `latest`。 ![](https://cdn.jsdelivr.net/gh/wbsu2003/gitnote-images@master/picgo/2021/06/20210603231328.png) [](#卷 "卷")卷 ----------- 在 `docker` 文件夹中,创建一个新文件夹,并将其命名为 `rclone`,然后在 `rclone` 文件夹中再创建两个新的子文件夹,分别命名为 `config` 和 `media`。 ![](https://cdn.jsdelivr.net/gh/wbsu2003/gitnote-images@master/picgo/2021/06/20210605190916.png) | 文件夹 | 装载路径 | 说明 | | --- | --- | --- | | `docker/rclone/config` | `/config` | 配置文件及日志存放目录 | | `docker/rclone/media` | `/media` | 数据存放目录 | ![](https://cdn.jsdelivr.net/gh/wbsu2003/gitnote-images@master/picgo/2021/06/20210605191334.png) [](#端口 "端口")端口 -------------- 默认的端口被 `firefox` 占用了,所以要修改,其中前者为 Web 访问端口,后者为 VNC 端口(可选)。 > 关于 firefox 可以看看老苏写的 『 [给群晖安装firefox浏览器](https://laosu.tech/2020/11/01/%E7%BB%99%E7%BE%A4%E6%99%96%E5%AE%89%E8%A3%85firefox%E6%B5%8F%E8%A7%88%E5%99%A8) 』 | 本地端口 | 容器端口 | | --- | --- | | 5801 | 5800 | | 5901 | 5900 | ![](https://cdn.jsdelivr.net/gh/wbsu2003/gitnote-images@master/picgo/2021/06/20210605193057.png) [](#环境 "环境")环境 -------------- | 可变 | 值 | | --- | --- | | `TZ` | 改为 `Asia/Shanghai` | | `VNC_PASSWORD` | 按需要设置 | | `ENABLE_CJK_FONT` | 设置为1,支持支持中、日、韩文 | ![](https://cdn.jsdelivr.net/gh/wbsu2003/gitnote-images@master/picgo/2021/06/20210605192620.png) > 如果不设置 `ENABLE_CJK_FONT = 1`,中文字会变成方框 ![](https://cdn.jsdelivr.net/gh/wbsu2003/gitnote-images@master/picgo/2021/06/20210605210605.png) 根据网友反馈的 [\# Synology cant Mount Drives #3 (https://github.com/romancin/rclonebrowser-docker/issues/3)](https://github.com/romancin/rclonebrowser-docker/issues/3) 整理的安装命令 [](#第一步、建目录 "第一步、建目录")第一步、建目录 ----------------------------- 参考常规方式的卷设置,同样也是建 `config` 和 `media` 目录 [](#第二步、共享挂载 "第二步、共享挂载")第二步、共享挂载 -------------------------------- 因为老苏映射的目录在 `volume1` 上,如果你的目录是其他的卷上,记得修改 ```bash mount --make-shared /volume1 ``` 不然后面 `mount` 的时候可能会遇到下面👇这样的错误 ```bash docker: Error response from daemon: linux mounts: path /volume1/docker/rclone/media is mounted on /volume1 but it is not a shared mount. ``` 这条命令在群晖重启后需要重新执行,所以我们可以把这句命令,通过 `任务计划` 加到开机脚本中 ![](https://cdn.jsdelivr.net/gh/wbsu2003/gitnote-images@master/picgo/2021/06/20210617233810.png) 这是一个触发任务,事件是开机 ![](https://cdn.jsdelivr.net/gh/wbsu2003/gitnote-images@master/picgo/2021/06/20210617233845.png) 邮件发不发看个人需要,主要是运行脚本 ![](https://cdn.jsdelivr.net/gh/wbsu2003/gitnote-images@master/picgo/2021/06/20210617233951.png) [](#第三步、启动容器 "第三步、启动容器")第三步、启动容器 -------------------------------- 在 `ssh` 客户端中执行下面👇的命令即可 ```bash docker run -d --name=rclonebrowser \ --cap-add SYS_ADMIN \ --device /dev/fuse \ --security-opt apparmor=unconfined \ -p 5801:5800 \ -p 5901:5900 \ -v /volume1/docker/rclone/config:/config \ -v /volume1/docker/rclone/media:/media:shared \ -e GROUP_ID=0 \ -e USER_ID=0 \ -e TZ=Asia/Shanghai \ -e VNC_PASSWORD=123456 \ -e ENABLE_CJK_FONT=1 \ romancin/rclonebrowser:latest ``` > 如果你已经图形化安装过,请先删除再执行,否则会有冲突; 不管你用上面哪种安装方式,在浏览器中输入 `http://群晖IP:5801` 应该就可以看到主界面,不过如果设置了 `ENABLE_CJK_FONT = 1`,因为要安装字体 ![](https://cdn.jsdelivr.net/gh/wbsu2003/gitnote-images@master/picgo/2021/06/20210609135803.png) 所以要等一会儿才行,这个取决于网速,有时候真的要很久很久,如果你发现容器并没有停止,但是又刷不出来主界面,十之八九就是卡在下载字体了 ![](https://cdn.jsdelivr.net/gh/wbsu2003/gitnote-images@master/picgo/2021/06/20210605193355.png) 填入我们前面设置的 `VNC_PASSWORD` 不要直接点 `Config` 设置,因为后面需要在浏览器中验证并获取 `access_token`,这在容器里是实现不了的 ![](https://cdn.jsdelivr.net/gh/wbsu2003/gitnote-images@master/picgo/2021/06/20210605194241.png) 老苏用了个取巧的办法,直接将 `windows` 上的设置文件拷贝到了群晖里,然后直接刷新页面就可以了: 1. 下载 Rclone : [https://rclone.org/downloads/](https://rclone.org/downloads/); 2. 下载 Rclone Browser:[https://github.com/kapitainsky/RcloneBrowser/releases/tag/1.8.0](https://github.com/kapitainsky/RcloneBrowser/releases/tag/1.8.0); 3. 在 `Windows` 上安装并设置好,使之能正常使用; 4. 在 `C:\Users\你的用户名\.config\rclone`文件夹下就可以找到配置文件 `rclone.conf` ; 5. 将配置文件 `rclone.conf` 上传到 `/docker/rclone/config/xdg/config/rclone` 中; 6. 刷新页面; 其他平台理论上也是可以的,但是老苏没试过,所以没研究 `rclone.conf` 在不同平台的存放位置。 [](#云盘挂载 "云盘挂载")云盘挂载 -------------------- 常规方式安装的不要去尝试 `mount`, 会返回下面👇这样的错误: ```bash 2021/06/09 14:19:18 NOTICE: One drive root '': --vfs-cache-mode writes or full is recommended for this remote as it can't stream 2021/06/09 14:19:18 mount helper error: fusermount: fuse device not found, try 'modprobe fuse' first 2021/06/09 14:19:18 Fatal error: failed to mount FUSE fs: fusermount: exit status 1 ``` ![](https://cdn.jsdelivr.net/gh/wbsu2003/gitnote-images@master/picgo/2021/06/20210609141959.png) 只有命令行安装的才能正常 `mount`,下图成功挂载了 5T 的 OD(One Drive)盘 ![](https://cdn.jsdelivr.net/gh/wbsu2003/gitnote-images@master/picgo/2021/06/20210610153125.png) 在 `ssh` 中用 `df-h` 命令能看到挂载信息 ![](https://cdn.jsdelivr.net/gh/wbsu2003/gitnote-images@master/picgo/2021/06/20210617223705.png) 在使用上跟本地盘是一样的,看起来似乎非常不错,但是也不是那么完美,因为每次开机之后,老苏要一个盘一个盘去 `mount`,另外也遇到过挂载成功后看不到内容的情况,没找到原因。老苏懒得折腾(主要是因为不懂),一般都是直接删容器,再用第三步的启动容器命令,一般都会OK的。 [](#示例 "示例")示例 -------------- 下图中分别是同步和拷贝操作 * 云盘A –> sync –> 云盘B * 云盘A –> copy –> 云盘C ![](https://cdn.jsdelivr.net/gh/wbsu2003/gitnote-images@master/picgo/2021/06/20210609194208.png) 群晖主机的资源监控 ![](https://cdn.jsdelivr.net/gh/wbsu2003/gitnote-images@master/picgo/2021/06/20210609194242.png) `docker` 本身资源消耗 ![](https://cdn.jsdelivr.net/gh/wbsu2003/gitnote-images@master/picgo/2021/06/20210610154220.png) 看得出来资源占用还是很低的,接下来的玩法大家可以自由发挥了,但是不管怎么说,云盘还是有各种限制的,比如每天上传下载配额、单个文件大小、操作频次等等,要注意避免被禁止访问的风险。 [](#其他问题 "其他问题")其他问题 -------------------- 1. 如果下载显示 `permission denied` ,需要修改 `media` 目录的权限 比如使用 `chmod 777 media` 2. 当你在做数据拷贝或者同步时,可能会在目录中留下残留文件,导致再次 `mount` 时,返回下面👇这样的错误 ```bash 2021/06/18 14:13:54 Fatal error: Directory is not empty: /media/5tb If you want to mount it anyway use: --allow-non-empty option ``` 可以修改参数,或者删除群晖目录中的残留文件(夹) ![](https://cdn.jsdelivr.net/gh/wbsu2003/gitnote-images@master/picgo/2021/06/20210618142212.png) > kapitainsky/RcloneBrowser: Simple cross platform GUI for rclone. Supports macOS, GNU/Linux, BSD family and Windows. > 地址:[https://github.com/kapitainsky/RcloneBrowser](https://github.com/kapitainsky/RcloneBrowser) > > romancin/rclonebrowser-docker: A repository for creating a docker container including RClone Browser with GUI interface. > 地址:[https://github.com/romancin/rclonebrowser-docker](https://github.com/romancin/rclonebrowser-docker) > > romancin/rclonebrowser Dockerfile > 地址:[https://hub.docker.com/r/romancin/rclonebrowser/dockerfile](https://hub.docker.com/r/romancin/rclonebrowser/dockerfile) > > 群晖 NAS 挂载 Google Drive 共享云端硬盘(团队盘) | 搁浅被注册了 > 地址:[https://www.sheyilin.com/2020/04/docker-rclone-proxy](https://www.sheyilin.com/2020/04/docker-rclone-proxy) > > \[Nas\] 如何在 Synology Nas 中使用 docker 並建立 rclone 來掛載資料夾 ? | 從入門到放棄 > 地址:[https://exfast.me/2020/07/nas-how-to-use-running-the-rclone-on-the-docker-on-the-synology-nas-to-mount-folder/](https://exfast.me/2020/07/nas-how-to-use-running-the-rclone-on-the-docker-on-the-synology-nas-to-mount-folder/) > > Windows平台下使用 Rclone 挂载 OneDrive 为本地硬盘 - 热夏 - 博客园 > 地址:[https://www.cnblogs.com/mysummerday/p/12661263.html](https://www.cnblogs.com/mysummerday/p/12661263.html)