Unraid是挺好用的,但是因为家里用的移动,所以托管在github上的代码下载速度极慢,有时候遇到dns污染还会出现网络错误。由于还没有折腾好移动的光猫,索性就琢磨手动安装Unraid插件,实现加速。

商店Feed加速

Apps选项卡经常会出现刷新失败,即使更换DNS也无济于事,通过查看/usr/local/emhttp/plugins/community.applications/include 目录下的 paths.php文件可以确定更新Feed需要的路径

这里可以通过反代方式切换到不容易被干扰的域名,也可以使用jsdelivr的CDN反代Github静态资源
我也在本站的 /unraid/路径下放置了对应的文件,并为不易访问的imgurl和github部分图片地址增加了反向代理,两小时更新一次,修改后的 paths.php如下

Update:在经过一番讨论之后,考虑到替换文件并不能及时的跟上CA插件的版本更新,如果你急需加速,但是本gist没能跟上,不妨在/usr/local/emhttp/plugins/community.applications/include 目录下执行

sed -i 's/raw.githubusercontent.com/cdn.jsdelivr.net\/gh/g;/https:\/\/cdn.*/s/\/master/@master/g' paths.php

这样就可以得到正确替换的使用jsdelivr加速过的App Feed,但是说老实话,这样得到加速过的Feed对插件下载这种仍需要走github的情况并不友好,我也在努力恢复本站/unraid路径下的文件。

插件的安装

插件商店的连接是托管在github上的,安装插件只需在插件选项卡下粘贴好如下链接并点击安装 https://raw.githubusercontent.com/Squidly271/community.applications/master/plugins/community.applications.plg

我们直接访问这个网址,发现这是一段类似shell脚本的东西,里面指定了安装动作和卸载动作,以及运行前的环境。我忽然意识到Unraid是基于Slackware发行版的,这个发行版非常小众,没有常见的包管理器帮你把依赖装好,甚至就连启动服务也不是通过systemd而是类似BSD的方式。

但是仔细观察发现脚本中

<FILE Name="/boot/config/plugins/&name;/&name;-&version;-x86_64-1.txz" Run="upgradepkg --install-new">

这一行命令是将在指定路径下的文件安装到系统中。故可通过手动下载好插件,放入对应的文件夹中,运行指令安装。

首先我们要先找到插件安装的脚本,只需要找到对应插件,点击安装,你可以在弹出的提示框中找到项目的地址,直接把这个文件上传到 /boot/config/plugins/下,并创建一个同名的文件夹
举个例子
按照上图的例子,这个文件夹应该命名为 dynamix.system.info
同时下载对应的txz文件放入该文件夹,最后在面板的Plugins页面手动选择安装plg文件即可。

Docker加速

Unraid自带的商店里大部分的应用是基于Docker的,只不过官方写好了一个模板,由于移动家宽连接Dockerhub的认证服务器总是超时,而通过传统方式添加国内源的办法又总是失效,这里可以使用修改启动脚本实现自启动生效。修改 /boot/config/go文件,添加如下代码:

tee -a /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://*.mirror.aliyuncs.com"]
}
EOF

也可以指定docker镜像的方式,在pull镜像的时候就指定

docker pull dockerhub.azk8s.cn/linuxserver/qbittorrent

即可避免因为网络问题导致部署失败。

注意,这一步需要替换模板中的 Repository为你的镜像地址,例如本例中的 dockerhub.azk8s.cn/linuxserver/qbittorrent而不是默认的 linuxserver/qbittorrent

最后修改:2021 年 07 月 13 日
如果觉得我的文章对你有用,请随意赞赏