群晖上通过RcloneBrowser挂载云盘
什么是 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
。
卷
在 docker
文件夹中,创建一个新文件夹,并将其命名为 rclone
,然后在 rclone
文件夹中再创建两个新的子文件夹,分别命名为 config
和 media
。
文件夹 | 装载路径 | 说明 |
---|---|---|
docker/rclone/config |
/config |
配置文件及日志存放目录 |
docker/rclone/media |
/media |
数据存放目录 |
端口
默认的端口被 firefox
占用了,所以要修改,其中前者为 Web 访问端口,后者为 VNC 端口(可选)。
关于 firefox 可以看看老苏写的 『 给群晖安装firefox浏览器 』
本地端口 | 容器端口 |
---|---|
5801 | 5800 |
5901 | 5900 |
环境
可变 | 值 |
---|---|
TZ |
改为 Asia/Shanghai |
VNC_PASSWORD |
按需要设置 |
ENABLE_CJK_FONT |
设置为1,支持支持中、日、韩文 |
如果不设置
ENABLE_CJK_FONT = 1
,中文字会变成方框
命令行安装
根据网友反馈的 # Synology cant Mount Drives #3 (https://github.com/romancin/rclonebrowser-docker/issues/3) 整理的安装命令
第一步、建目录
参考常规方式的卷设置,同样也是建 config
和 media
目录
第二步、共享挂载
因为老苏映射的目录在 volume1
上,如果你的目录是其他的卷上,记得修改
1 | # 共享挂载 |
不然后面 mount
的时候可能会遇到下面👇这样的错误
1 | docker: Error response from daemon: linux mounts: path /volume1/docker/rclone/media is mounted on /volume1 but it is not a shared mount. |
这条命令在群晖重启后需要重新执行,所以我们可以把这句命令,通过 任务计划
加到开机脚本中
这是一个触发任务,事件是开机
邮件发不发看个人需要,主要是运行脚本
第三步、启动容器
在 ssh
客户端中执行下面👇的命令即可
1 | docker run -d --name=rclonebrowser \ |
如果你已经图形化安装过,请先删除再执行,否则会有冲突;
运行
不管你用上面哪种安装方式,在浏览器中输入 http://群晖IP:5801
应该就可以看到主界面,不过如果设置了 ENABLE_CJK_FONT = 1
,因为要安装字体
所以要等一会儿才行,这个取决于网速,有时候真的要很久很久,如果你发现容器并没有停止,但是又刷不出来主界面,十之八九就是卡在下载字体了
填入我们前面设置的 VNC_PASSWORD
设置
不要直接点 Config
设置,因为后面需要在浏览器中验证并获取 access_token
,这在容器里是实现不了的
老苏用了个取巧的办法,直接将 windows
上的设置文件拷贝到了群晖里,然后直接刷新页面就可以了:
- 下载 Rclone : https://rclone.org/downloads/;
- 下载 Rclone Browser:https://github.com/kapitainsky/RcloneBrowser/releases/tag/1.8.0;
- 在
Windows
上安装并设置好,使之能正常使用; - 在
C:\Users\你的用户名\.config\rclone
文件夹下就可以找到配置文件rclone.conf
; - 将配置文件
rclone.conf
上传到/docker/rclone/config/xdg/config/rclone
中; - 刷新页面;
其他平台理论上也是可以的,但是老苏没试过,所以没研究 rclone.conf
在不同平台的存放位置。
云盘挂载
常规方式安装的不要去尝试 mount
, 会返回下面👇这样的错误:
1 | 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 |
只有命令行安装的才能正常 mount
,下图成功挂载了 5T 的 OD(One Drive)盘
在 ssh
中用 df-h
命令能看到挂载信息
在使用上跟本地盘是一样的,看起来似乎非常不错,但是也不是那么完美,因为每次开机之后,老苏要一个盘一个盘去 mount
,另外也遇到过挂载成功后看不到内容的情况,没找到原因。老苏懒得折腾(主要是因为不懂),一般都是直接删容器,再用第三步的启动容器命令,一般都会OK的。
示例
下图中分别是同步和拷贝操作
- 云盘A –> sync –> 云盘B
- 云盘A –> copy –> 云盘C
群晖主机的资源监控
docker
本身资源消耗
看得出来资源占用还是很低的,接下来的玩法大家可以自由发挥了,但是不管怎么说,云盘还是有各种限制的,比如每天上传下载配额、单个文件大小、操作频次等等,要注意避免被禁止访问的风险。
其他问题
- 如果下载显示
permission denied
,需要修改media
目录的权限
比如使用chmod 777 media
- 当你在做数据拷贝或者同步时,可能会在目录中留下残留文件,导致再次
mount
时,返回下面👇这样的错误
1 | 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 |
可以修改参数,或者删除群晖目录中的残留文件(夹)
参考文档
kapitainsky/RcloneBrowser: Simple cross platform GUI for rclone. Supports macOS, GNU/Linux, BSD family and Windows.
地址:https://github.com/kapitainsky/RcloneBrowserromancin/rclonebrowser-docker: A repository for creating a docker container including RClone Browser with GUI interface.
地址:https://github.com/romancin/rclonebrowser-dockerromancin/rclonebrowser Dockerfile
地址:https://hub.docker.com/r/romancin/rclonebrowser/dockerfile群晖 NAS 挂载 Google Drive 共享云端硬盘(团队盘) | 搁浅被注册了
地址: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/Windows平台下使用 Rclone 挂载 OneDrive 为本地硬盘 - 热夏 - 博客园
地址:https://www.cnblogs.com/mysummerday/p/12661263.html