如何在QNAP威联通NAS上优雅地用上RCLONE
我有一台QNAP威联通的NAS,2016年买的。这台NAS是我的第一台NAS,我想,应该也是我最后一台。因为目前已使用:“本地移动硬盘冷备+自建NextCloud热备+Google Drive同步备份”方案。
众所周知,QNAP有个最大的问题就是,每次重启都会清空root目录下的文件,这也就意味着我们如果使用rclone挂载其他硬盘的话,需要移动config文件的位置。另外,如果需要同时挂载多个盘,脚本处理起来会很复杂。
在尝试了直接命令行安装rclone、QNAPClub的RClone QPKG之后,仍然有一堆需要调试的bug,别说中文世界,就算在英文世界也找不到太多关于QNAP配置rclone的教程,于是,我开始琢磨docker。遂发现了一个魔改版的rclone docker。
这个docker是sheyilin大佬在2020年写的,原本,是用来方便挂代理,但如果已经有本地路由器科学上网的环境,就用它的基本功能就好了。结合QNAP自带的docker:Container Station能轻松地挂载多个网盘,且不用管FUSE、重启丢失config、重启自动挂载等问题。
一、用SSH管理QNAP
用SSH能大幅提升QNAP的管理效率。
先去Control Panel - Telnet/SSH 把SSH打开
接着用SSH客户端连接QNAP
按Q
按Y
即可!
二、完善Container Station
QNAP自带的docker:Container Station用起来还是差点意思。如果你熟悉Linux的docker操作,就可以直接在SSH里直接用docker命令行处理啦。
如果你不是很熟悉docker的操作,建议安装一个Portainer中文版,中文化图形界面,方便快捷。
三、RCLONE安装的准备工作
如果你已经有rclone的config文件,请直接上传到磁盘的目录。上传工作可以直接用 File Station 处理。请记下这个目的的绝对路径。例如:
上传到了在File Station里的/Video目录的rclone文件夹下,通常情况下绝对路径为:/share/CACHEDEV1_DATA/Video/rclone
不同的格式化方式/share/CACHEDEV1_DATA/部分也许不同,你可以在SSH里用:df -h看看
如果你还没有rclone config文件,请先自行配置。这里有一堆教程。
四、安装DOCKER
如果你不需要代理的功能,安装代码:
docker run -d --name 【DOCKER的名字】 --restart=always --cap-add SYS_ADMIN --device /dev/fuse --security-opt apparmor:unconfined -e RemotePath="【CONFIG文件里的盘符名字】:" -e MountCommands="--allow-other --allow-non-empty --buffer-size 32M --vfs-read-chunk-size=32M --vfs-read-chunk-size-limit 2048M --vfs-cache-mode writes --dir-cache-time 96h" -v 【RCLONE CONFIG文件储存的绝对路径】:/config -v 【被挂载的盘的绝对路径】:/mnt/mediaefs:shared gqbre/docker-rclone-proxy
上述代码有四处需要修改,即:
【DOCKER的名字】
【CONFIG文件里的盘符名字】
【RCLONE CONFIG文件储存的绝对路径】
【被挂载的盘的绝对路径】
修改后示例如下:
docker run -d --name rclone-gd --restart=always --cap-add SYS_ADMIN --device /dev/fuse --security-opt apparmor:unconfined -e RemotePath="gd:" -e MountCommands="--allow-other --allow-non-empty --buffer-size 32M --vfs-read-chunk-size=32M --vfs-read-chunk-size-limit 2048M --vfs-cache-mode writes --dir-cache-time 96h" -v /share/CACHEDEV1_DATA/Video/rclone:/config -v /share/CACHEDEV1_DATA/Video/wow/gd:/mnt/mediaefs:shared gqbre/docker-rclone-proxy
如果你需要代理功能,则可加上
-e Proxy="true" -e ProxyTarget="172.17.0.1" -e ProxyPort="1087"
其中ProxyTarget 设置为提供代理的地址。
如此一来,一个盘就自动挂上了,重启后,待Container Station自动启动后,这个DOCKER也会自动启动,盘符也会自动挂上。
如果你想挂载多个盘符,只需要添加多个Docker即可,记住要改【DOCKER的名字】。