NAS换血——openmediavault拜拜(一)

emmmm诸位还记得我前一段时间捡垃圾凑了台NAS对吧……然后当时我推荐用openmediavault这个基于Debian系统。然鹅在实际使用了一段实际过后,发现这系统难用的一批……因为只有系统盘导致一大堆功能不能正常使用。因为这样我日常也就几乎不去访问它的控制面板了——但是这就没有了安装openmediavault的意义了。于是趁着最近BT下满了和对原版 qBittorrent 的经常被迅雷吸血的强烈不满,于是萌生了吸取这一次的经验让这台垃圾NAS更加完美的想法。

新的系统

这一次虽然说不要openmediavault,但Debian还是深入我心的——系统占用资源极少,还特别稳定。对于我这种基本懒得上去弄的人来说简直就是福音了。于是这一次我选择了Debian的船新版本: Debian 10

至于为啥选这个而不是选择其他的7、6版本。很简单,看起来更加好用。安装的过程就不细说了,这里我为了省事用的是网络镜像启动安装。其他不熟悉的童鞋建议还是选择用传统的镜像安装。而安装的过程这里也不说了,反正网上一搜一大把。(我才不会说是因为当时压根没想过要发所以过程记录一片空白呢)

PS:在安装步骤的最后选择软件包的过程中如果希望系统占用的资源少一些就只选择 SSH Service ,其他的不要选。(默认会勾上桌面环境)

在经过半个小时左右的安装过程后,以root用户进入系统。在Debian中,因为安全的原因默认禁止root用户登录ssh。所以为了方便需要把这个给限制弄开

apt update
apt install vim -y
vim /etc.ssh/sshd_config

然后里面的#PermitRootLogin prohibit-password改成PermitRootLogin yes 并且重启服务

service sshd restart

如果这时候你已经把显示器拔开了,也没事,在你电脑用普通连上后用su切换到root,执行以上命令即可

实现之前的功能

Docker

Docker是一个开放源代码软件项目,让应用程序部署在软件货柜下的工作可以自动化进行,借此在Linux操作系统上,提供一个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制。 Docker利用Linux核心中的资源分离机制,例如cgroups,以及Linux核心名字空间,来创建独立的容器。

维基百科

以上内容浓缩起来就是:装了我你可以省好多事ο(=•ω<=)ρ⌒☆

安装的过程十分简单,执行下面的两行代码就行了:

curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh --mirror Aliyun

Docker 镜像加速

因为国内访问Docker的速度不是一般的慢,而后面大部分的操作都基本需要用到Docker,所以为了保护键盘鼠标我们需要对Docker配置镜像加速器

vim /etc/docker/daemon.json

然后填入一下内容并保存(:wq)

{
  "registry-mirrors": [
    "https://dockerhub.azk8s.cn",
    "https://reg-mirror.qiniu.com"
  ]
}

然后重启服务

systemctl daemon-reload
ystemctl restart docker

安装 Docker 控制面板

前面也说了,后面的许多功能都要用到Docker。既然如此,单单靠命令行就不够了,所以这里我们安装一个WEB GUI,方便控制Docker容器。

docker pull portainer/portainer
docker volume create portainer_data
docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

执行玩上面的命令后,我们可以通过http://[服务器ip]:9000来访问控制界面。然后第一次访问需要设置用户名密码那些,然后在下一个界面选择 Local 。就可以看到漂亮的页面啦~*(੭*ˊᵕˋ)੭*ଘ

NAS的WEB GUI

其实这个可以装也可以不装。我安装这个只是为了方便查看服务器的资源占用情况和关机、重启那些。因此我选择了比较轻巧的WEB面板:Cockpit

apt install cockpit #安装
vim /etc/systemd/system/sockets.target.wants/cockpit.socket #把端口改成443
systemctl daemon-reload #重载配置文件
iptables -A INPUT -p tcp --dport 443 --jump ACCEPT #开放443端口
systemctl start cockpit
systemctl enable cockpit.socket #使其开机启动
reboot

重启后直接访问NAS的域名就可以看到服务器的控制面板了。这里的用户名和密码和服务器的用户名密码相同

开启mDNS

有用过openmediavault的应该都会发现可以通过访问http://openmediavault.local来直接访问nas吧。这其实是 Multicast DNS (mDNS) 的功能,为了方便访问NAS我决定开启这个功能

安装

apt install avahi-daemon #安装,期间有可能提醒你安装另一个东西,那个不用安装也行的
vim /etc/hostname #修改主机名

比如这里我把主机名改成了nas

修改了之后重启NAS就可以直接用你的那个主机名来访问NAS了

比如我这里可以用nas或者nas.lan。于是乎下面的任何涉及NAS的地址我都将用上面的地址来代替。(我才不会说是因为我懒得改)

在 Docker 容器中实现之前的功能

qBittorrent 修改版(反吸血)

这里我强烈推荐 qBittorrent 这一款bt下载软件,因为它的找种(下载)能力非常强,因此可以成为迅雷的完美替代品。有关这个镜像的更加详尽的说明可以在这里找到

我们先进入http://nas.lan:9000/#/containers/new,按照下图这样填

johngong/qbittorrent:qee_4.1.6.1
这个选项最好所有容器都选用

然后就到了硬盘的部分,这里的文件目录我用的都是 Bind 模式,并且全部可写。这是为了方便我把下载的文件用samba弄出来。这里比较简单就不多加说明了

最后,点击 Deploy the container ,等待创建容器并运行就好啦~

微信转发机器人

关于这个机器人更加详细的教程可以在这里找到:https://miaohaha.ml/%e5%9c%a8nas%e4%b8%8a%e5%88%a9%e7%94%a8docker%e5%ae%9e%e7%8e%b0tg%e6%8e%a5%e6%94%b6%e5%be%ae%e4%bf%a1%e6%b6%88%e6%81%af/ & https://miaohaha.ml/efb-%e6%94%b6%e5%8f%91%e5%be%ae%e4%bf%a1%e6%b6%88%e6%81%af%e7%9a%84%e8%bf%9b%e9%98%b6%e5%ba%94%e7%94%a8/

这里你只需注意下面的几个区域,其他默认即可

qB的RSS自动下载

结尾

这样,NAS基本的功能就可以了。就先写到这里吧,剩下的samba有时间再写写