Published on

自己架个私有云

Authors
  • avatar
    Name
    wellsleep (Liu Zheng)
    Twitter

前几天同事向我炫耀,在闲鱼上花60块钱买了个四盘位NAS机箱,又买了块工控小主板,自己搭了个黑群晖,乐不思蜀。群晖的机架质高价更高,因此黑群晖一直是广大图吧垃圾佬的首选。看着同事手机里群晖的各种App可以远程获取家里黑群晖的数据,心里还是有点痒痒。不过家里的Ubuntu服务器由于搭好了各种服务(AriaNg的GUI远程下载,ngrok的内网穿透,homebridge的智能家居等等),群晖的DSM系统能否完美支持尚且未知,即使是原样重新搭一遍也是颇为踌躇。思来想去,算了,还是接着用我的硬核办法:SSH搞定一切应用好了。不过私有云这件事好像做做还有点用途——如果不被人攻击的话。

家里的NAS早就稳定运行了许久,私有云在存储端要做的就是把端口开放出去。由于家里是动态公网IP,之前的办法是在服务器上跑一个shell,定时把本地获取的IP写道一个对外公开的隐蔽HTTP服务上,需要连接的时候访问那个URL即可读到当前的公网IP。这个办法用的是ngrok的内网穿透办法,好处是不用改路由器配置,坏处自然是数据要绕道VPS速度大打折扣。闲着翻了翻路由器,华为荣耀Pro,可玩性巨差,不过竟然还是提供了DDNS的选项,只是与花生壳做了捆绑,只能用花生壳的服务。花生壳的免费版 1Mbps 带宽虽然聊胜于无,但其实只需要一个网址的报告服务,数据传输完全可以公网直连。距离完美的最后一步,就是花生壳的免费域名堪比随机密码,眼瞅着就是胁迫用户买他家的二级自定义域名。好在Freenom上还有免费的 .tk/.ml 之类的邪门顶级域名,随便搞一个,抑或是用CNAME解析到已有的二级域名上,开心!

下一步就是考虑把NAS和自动备份连起来,或者再搭个WebDAV方便浏览。嗯,研究一下 seafile,看起来还行...


20/1/21更新: 花了点功夫研究了半天主流私有云系统,个人需求如下:

  • 公网有便捷的 UI 访问存储内容
  • 足够的安全设置
  • 上传速度越快越好
  • verysync

总结一下:

  1. 家里要看电影的时候,用小米盒子播 SAMBA;或用手机浏览器上 Kod 的 web 页面拿 web 播放器投屏小米盒子也可。
  2. 在其他地方要看 NAS 照片或视频时,用浏览器访问路由的 NAT 端口即可。
  3. 要备份手机照片,用“微力同步”,直接穿内网备份到NAS。如果要通过 Kod 看备份的照片(话说看手机照片直接看手机就好了嘛),用 ln -s <src> <dst>做个软链接即可。
  4. tmux 的后台运行以及 /etc/rc.local 的开机启动设置玩得越来越溜。

至此,传说中黑群晖所令人眼红的功能全部实现,花费 8 元,加一位高级工程师数小时的工时——从成本上竟然好像还不如买白群晖了。不过熟悉了许多杂七杂八的知识:PHP 的安装,分布式传输,通过 SSH 隧道访问 HTTP(因为安全原因,微力需要在本机环境访问 8886 端口配置),还有 docker logs NUM 的 debug 办法,以及 CNAME 的二级域名访问。

啊,人生真是充实!


1月24日再次更新: 折腾了几天后:

  • kod 的照片备份太慢,视频传输卡顿严重,只能作为备选方案偶尔冷备;

2月10日最后更新: 我也入了黑群晖的坑。群晖的软件还是玩起来方便啊。