232 lines
11 KiB
Markdown
232 lines
11 KiB
Markdown
**什么是 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浏览器](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 |
|
||
|
||

|
||
|
||
[](#环境 "环境")环境
|
||
--------------
|
||
|
||
| 可变 | 值 |
|
||
| --- | --- |
|
||
| `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)](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.
|
||
```
|
||
|
||
这条命令在群晖重启后需要重新执行,所以我们可以把这句命令,通过 `任务计划` 加到开机脚本中
|
||
|
||

|
||
|
||
这是一个触发任务,事件是开机
|
||
|
||

|
||
|
||
邮件发不发看个人需要,主要是运行脚本
|
||
|
||

|
||
|
||
[](#第三步、启动容器 "第三步、启动容器")第三步、启动容器
|
||
--------------------------------
|
||
|
||
在 `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`,因为要安装字体
|
||
|
||

|
||
|
||
所以要等一会儿才行,这个取决于网速,有时候真的要很久很久,如果你发现容器并没有停止,但是又刷不出来主界面,十之八九就是卡在下载字体了
|
||
|
||

|
||
|
||
填入我们前面设置的 `VNC_PASSWORD`
|
||
|
||
不要直接点 `Config` 设置,因为后面需要在浏览器中验证并获取 `access_token`,这在容器里是实现不了的
|
||
|
||

|
||
|
||
老苏用了个取巧的办法,直接将 `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
|
||
```
|
||
|
||

|
||
|
||
只有命令行安装的才能正常 `mount`,下图成功挂载了 5T 的 OD(One Drive)盘
|
||
|
||

|
||
|
||
在 `ssh` 中用 `df-h` 命令能看到挂载信息
|
||
|
||

|
||
|
||
在使用上跟本地盘是一样的,看起来似乎非常不错,但是也不是那么完美,因为每次开机之后,老苏要一个盘一个盘去 `mount`,另外也遇到过挂载成功后看不到内容的情况,没找到原因。老苏懒得折腾(主要是因为不懂),一般都是直接删容器,再用第三步的启动容器命令,一般都会OK的。
|
||
|
||
[](#示例 "示例")示例
|
||
--------------
|
||
|
||
下图中分别是同步和拷贝操作
|
||
|
||
* 云盘A –> sync –> 云盘B
|
||
* 云盘A –> copy –> 云盘C
|
||
|
||

|
||
|
||
群晖主机的资源监控
|
||
|
||

|
||
|
||
`docker` 本身资源消耗
|
||
|
||

|
||
|
||
看得出来资源占用还是很低的,接下来的玩法大家可以自由发挥了,但是不管怎么说,云盘还是有各种限制的,比如每天上传下载配额、单个文件大小、操作频次等等,要注意避免被禁止访问的风险。
|
||
|
||
[](#其他问题 "其他问题")其他问题
|
||
--------------------
|
||
|
||
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
|
||
```
|
||
|
||
可以修改参数,或者删除群晖目录中的残留文件(夹)
|
||
|
||

|
||
|
||
> 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) |