Ubuntu Server(二)
Ubuntu Server作家庭NAS及服务器(二)
在之前的博客中,提到收了一台蜗牛星际,安装Ubuntu 18.04 LTS
作为家用NAS及服务器,这篇博客主要是对整体情况做一下概括,讲讲我主要在上面实现了哪些功能,以及目前看来的使用情况。
特别要强调的是,蜗牛星际曾是一台矿机,加上他采用的硬件多数为山寨货,无论成色如何,并不建议把他真的作为家用的NAS来存放重要数据(照片、文件、视频等),尤其是用它来带3个及以上的3.5寸硬盘。归根结底还是要做好文件备份工作,蜗牛只是作为试水的工具。
首先,作为一个NAS
,我觉得他需要有的功能应该具备以下几点:
- 离线下载
- 文件同步
- 海报墙
- 远程访问
实现的功能
为了实现离线下载,我采用了在之前倒腾树莓派时候就用过的软件aria2
,配合AriaNG
可以实现所有平台的设备只要有浏览器就可以进行下载的管理。
AriaNG
电脑端
AriaNG
手机端同时,由于之前在国内彻底被扼杀的同步软件Resilio sync
(原名BT sync
) 在国内目前又可以部分连接,所以也安装了Resilio sync
,配合神key
的使用在追剧的时候不要太爽。
Resilio Sync
文件同步的话,有很多协议可以采用,最广泛的无疑还是Samba
协议,当然,得益于Linux
良好的系统特性,其他协议想要支持也是信手拈来。
海报墙的话,因为蜗牛的性能也基本上限制了他的转码水平,海报墙更多的还是停留在看看的阶段。这里我用了Plex
来刮削整理电影和剧集。同时,Plex
自身就带有DLNA
功能,开启后可以在其他设备上访问到Plex
的播放列表。
Plex
界面 因为这是放在宿舍,没有专线宽带,毫无疑问需要DDNS
,同时因为移动大内网,IPv4
的公网访问直接就不想了,万幸南京移动已经部署了公网IPv6
,而且三大运营商的4g
网络也已经分配IPv6
了,学校的wifi
也在这学期上了IPv6
,所以,整体的公网访问没有什么大碍,后面具体再谈谈实际体验。
IPv6
远程访问实现方法
下面简单介绍如何实现上述的几个功能。
离线下载
因为一开始折腾的时候,对docker还只是听说过,并没有真正使用过,所以对于aria2
的使用还是直接安装在系统里。aria2官网提供了比较详细的下载、安装和使用教程。当然,对于像我这种小白,可以采用逗比大佬的一键脚本。
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/aria2.sh && chmod +x aria2.sh && bash aria2.sh
根据提示一步一步即可完成安装。
这只是aria2
后台的安装,要实现web
界面管理还需要安装AriaNG来实现。
我采用的是Apache2
作为web
服务器,将AriaNG
放到web
服务器所对应的文件夹,就可以通过直接访问对应的ip
来管理aria2
。然后在AriaNG
设置中,填入ip
地址和端口,以及RPC
密钥即可连接到aria2
后台服务。
AriaNG
设置界面Resilio Sync
安装
Resilio Sync
配合神key
的使用对与追剧来说简直就是大杀器,类似于人人网的RSS
下载,在添加key
后可以自动同步更新的剧集,在应用pro
版证书后,还可以进行选择性同步。
首先就是去Resilio Sync
的帮助中心下载对应系统版本的.deb
文件。下载完成后进入对应文件目录安装软件。
sudo dpkg -i <resilio-sync.deb>
然后进入/etc/resilio-sync/
编辑config.json
文件
{
"storage_path" : "/var/lib/resilio-sync/",
"pid_file" : "/var/run/resilio-sync/sync.pid",
"webui" :
{
"listen" : "127.0.0.1:8888"
}
}
其中listen
字段中的8888
定义了对应的端口,如果想要实现外网访问,可以设置端口转发(类似于webmin
)来将端口转发到其他的端口来实现外网访问。
运行以下以下命令来启动软件
sudo systemctl start resilio-sync
最后要实现选择性同步,需要在软件中应用pro
的licence [详细的内容可以参考这个页面]。
神key
的使用
在Sync
主界面依次点击[添加文件夹] - [输入密钥或链接],然后填入下面的Key
即可:
BCWHZRSLANR64CGPTXRE54ENNSIUE5SMO
文件同步
文件同步我采用的是Samba
协议,值得一提的是ios13
中[文件]应用增加了对Samba
协议的支持。具体配置在这里就不展开了,可以参考我webmin那篇博客。
海报墙和远程访问的实现我都部署在docker
上了,docker
的web
管理采用了portainer
。
海报墙
我采用的是Plex
,通过docker
部署后,在docker
中将放有电影视频的目录添加到对应的volumn
中。
docker
中添加目录Plex
默认的端口是32400
ip:32400
访问后创建用户,最后就是添加目录到Plex
中。
Plex
中添加目录远程访问
我将DDNS
也部署在docker
中,采用的是sanjuss/aliyun-ddns
,这是我使用过好几个后发现的对IPv6
支持比较好的docker
。
DDNS
日志docker
中安装后,需要设置Env
。[我用的是阿里云的DDNS]
DDNS
设置AccessKey ID
和AccessKey Secret
推荐使用子用户AccessKey(访问控制台RAM) 分配的权限。使用子用户AccessKey
,请分配AliyunDNSReadOnlyAccess
(只读访问云解析(DNS)的权限) 和AliyunDNSFullAccess
(管理云解析(DNS)的权限) 这两个权限!
如果图省事,也可以使用全局AccessKey。 但此时泄露或者发布全局AccessKey
是很危险的!!!
使用体验上来说,目前使用一直是没有问题的。在我需要访问的时候都是可以正常访问到的。
总结
我目前用蜗牛星际所实现的功能基本上就如上所述。
具体使用场景可以这么理解:在需要BT下载的时候可以使用AriaNG
,如果是电影或者电视剧的话一般就先去神key
看看有没有。如果有的话,我觉得Resilio Sync
的下载速度通常更快一些。
我有一个旧盘,作为下载的缓冲盘,下载完成后,将资源再转移到专门存储对应类型文件的文件夹。Plex
会自动刷新识别,识别不了或出错的时候再手动修正匹配。
电脑上通过将Samba
共享的文件夹添加为一个网络位置[貌似这样可以较少硬盘唤醒次数],Potplayer
直接播放。手机上ios
端可以采用nPlayer
和Infuse
(Infuse
可以连接Plex
);文件管理的话用自带的[文件]应用。
总结而言,我只是将它当作一个玩具,并不敢将重要的资料存储在上面。
最后看看整个系统的开机时间,上次关机是因为不小心拔错了线。
16:11:36 up 14 days, 2:20, 2 users, load average: 0.23, 0.40, 0.41