Files
StudyDiary/10-WebClipper/群晖上通过RcloneBrowser挂载云盘 | 老苏的blog.md
T
2026-07-23 20:36:13 +08:00

232 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
**什么是 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 方式对多个云盘进行统一管理,包括上传、下载、同步、备份等操作;
* 目标2Jellyfin、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 的 ODOne 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)