本帖最后由 neroxps 于 2020-8-11 09:22 编辑
再说说为何我一直使用 generic linux + supervisor 的方式部署。
1. supervisor(hassio) 的便利性:
在我看来,hassio 给我带来的便利还是 addons 太舒服了,有人说我用 docker-Compose 也很方便,写好配置文件之后我再也不用管他。
但我想说 hassio 的 addons 直接有完整的配置文档(至少 Pascal 写的 addons 文档都很简单易懂),只需要在 supervisor webui 上点一下 install,等待几分钟,addons 的容器就已经部署好,然后跟着文档写好我们需要的配置,就立刻能用。
拿 mariadb 为例,如果不懂数据库的兄弟,使用 docker + mariadb 来部署,需要配置的东西还是挺多,账号,建立数据库,开远程登陆授权,分配权限,调试 homeassistant 与 mariadb 的连接。而 addons 我点几点,改下用户名密码,ssl 没有就去掉,部署时间不超过5分钟。
2. supervisor(hassio)迁移与重部署
曾经感觉 hassio 的 snapshot(快照)十分便利,我也相当信任他,但后来发现,这个功能其实不太好用,首先 hassio 其实就是完全基于 docker 部署,所以理论上,只需要把他的配置文件目录(默认在:“/usr/share/hassio) 备份好,新装后直接迁移过去,就可以立刻使用。
自于快照的恢复功能,我感觉(按我当时18年体验的来说)还是不成熟(后续我也没体验过,因为我直接写了个脚本定时备份用到现在懒得动了),因为当初恢复快照我竟然恢复失败了,我再没相信 snapshot 快照功能了。
3. 说说为何使用 generic linux + supervisor 而不选择 hassos
首先,hassos 是服务与国外的网络环境,在国内,我们需要修改 docker 的源,否则无论是安装还是升级都会非常非常的慢,目前 hassos 应该也可以修改源了这个问题应该不大。
其次,hassos 是官方基于 linux 内核自己编写的一个 Linux 系统,对我而言,我希望在 hassio 的机器上再跑写其他 addons 没有的容器,有时候可能还需要写点脚本把他们打通(例如 acme.sh)那就有点麻烦。没有包管理软件,超级干净的系统,什么都没有。所以我还是选择了 debian+hassio部署,debian 稳定性毋庸置疑,既能满足我对系统的控制,又可以满足我对 ha 和 addnos 管理的便利性。
4. 对 hassio(supervisor)使用者的忠告
对于一些具有运维基础能力的用户,建议可以看看 hassio 的开发文档,不长,大概 30分钟能看完。https://developers.home-assistant.io/docs/supervisor 对运维 hassio 理解更加透彻,当理解了 hassio 的框架和作用之后,遇到问题都可以轻松定位和解决。
5. hassio 的弊端
supervisor 不可控,升级权限由官方推送掌握,系统框架也默默的改过几回,以前没有 core dns 等容器,现在它负责接管了 hassio 所有容器的 dns 解析,有些时候需要对他进行配置会更符合我们使用的需求。
当初我部署 addons 的时候写的容器连接直接写容器名字,因为这个自动升级,导致我数据库等其他容器无法连接ha,后来这个事情在 GitHub issue 里面还有人强烈吐槽过。
最终
任何的安装方式其实都是按照各人需求而讨论,只要选择一种适合自己,方便维护就可以,不应该花太多的时间去折腾 HA 的安装,因为安装只是开始,我们更应该花时间去折腾如何接入,如何编写我们家里的自动化。
|