今天想和刚入坑HA智能家居的朋友们聊聊一个老生常谈、但几乎每个新手都会纠结的问题:Home Assistant(简称HA)到底该怎么装?
在各大论坛和交流群里,你肯定见过两派人在争论:一派强烈推荐用虚拟机装完整的 Home Assistant Operating System(HAOS),另一派则觉得用 Docker 装 Home Assistant Container 才是王道。作为曾经也踩过坑的过来人,我想结合我的真实折腾经历和官方建议,给大家理理思路。
为什么会有这么多种安装方式?
在聊怎么选之前,顺带提一嘴HA的安装历史。早前大家经常折腾的有4种安装方式(HAOS、Container、Supervised、Core)。但现在,随着系统不断进化,官方强烈建议普通玩家只在 HAOS 和 Container 这两种里选。另外两种(Supervised 和 Core)因为底层依赖极其复杂,维护门槛太高,对新手来说基本可以说是“弃用”状态了,咱们小白直接忽略就行。
要搞懂 HAOS 和HA Container 的区别,咱们得先简单聊聊“虚拟机”和“Docker”这两个技术。
简单来说:
- 虚拟机(Virtual Machine):就像是在你的NAS或者电脑里,硬生生地圈出一块地,独享这部分的物理硬件(CPU、内存等)。在这块地里,它有自己独立完整的操作系统。
- Docker 容器:它没有自己完整的操作系统,而是和宿主机共享物理机硬件。它就像是合租房里的一个房间,虽然有一定独立性,但水电管网都是大家共用的。
这就解释了为什么用虚拟机装 HAOS 会比 Docker 更占资源,但同时也更独立、更稳定。
官方是怎么说的?
其实HA官网的说明已经很明确了:
About installation types
Home Assistant offers two different installation types. Home Assistant Operating System is the recommended installation type.
Home Assistant Operating System: An embedded, minimalistic operating system designed to run the Home Assistant ecosystem on single board computers (like the Home Assistant Green or a Raspberry Pi) or Virtual Machines. It is the most convenient option in terms of installation and maintenance and it supports apps. Home Assistant Operating System is the recommended installation type for most users.
Home Assistant Container: Container-based installation of Home Assistant. You need to bring your own system (such as Linux) with container orchestration (like Docker), and manually handle updates. Home Assistant Container installations don’t have access to apps.
Note: Some integrations, such as Thread and Z-Wave, are controlled by apps. There is no out-of-the-box support for these on Container installations.
简单翻译一下就是:官方主推 HAOS,因为它自带操作系统,维护最方便,还支持安装各种应用(Apps / 加载项)。而 Docker 版本的 Container 需要你自己搞定底层系统,全手动更新,并且不支持安装应用(像 Thread、Z-Wave 这类依赖加载项的协议,在 Docker 版里是没法开箱即用的)。
虚拟机 HAOS 到底香在哪里?
对于新手来说,虚拟机里的 HAOS 比 Docker 版HA主要多了两个功能:
- 一键系统更新升级:在 HAOS 里,系统更新、核心组件更新,只要在网页端点一下鼠标就能搞定。而 Docker 版你需要进入后台,重新拉取镜像、重建容器,稍微手抖一下可能就出错了。
- 加载项(Add-ons / Apps):这才是 HAOS 的灵魂。你可以把它理解为 HA 专属的“应用商店”。里面有无数实用的插件,比如 MQTT 服务器、VLC 播放服务器、Node-RED 等等。在 HAOS 里安装这些,全都是前端 UI 操作,点击“安装”就行,可以说是零门槛。
但如果你在 Docker 里也想用这些 HA 插件,你得再去输入一堆 Docker 命令部署。HA 新手刚上手面对一堆命令会有不小的难度。
真实的体验与我的建议
另外,作者本人也是强烈推荐在虚拟机里安装完整的 Home Assistant Operating System,这样体验最全,对新手体验更好。刚入手的新手小白不一定能搞明白那些 Docker 命令。
很多玩 Docker 的容器玩家喜欢吹嘘说:“如果 HA 崩溃了或者系统坏了,通过 Docker 恢复系统会更方便更快捷!重新拉取镜像覆盖文件即可!”
这句话本身没毛病,但他们殊不知:虚拟机有着更完备的快照和全量备份功能。只要你在虚拟机的控制台配置好快照计划和备份计划,恢复 HA 系统也就是一瞬间的事情,点下鼠标整个系统就完好无损地回来了。这对新手来说不比折腾 Docker 挂载目录香吗?
我本人一开始也是用的 Docker 版本的 HA。后来 NAS 升级了内存,就用虚拟机重新安装了 HAOS。我目前在 NAS 里单独配置了 4G 内存给 Home Assistant Operating System,用起来那叫一个丝滑畅快,再也不用去对着黑色终端框敲代码了。
总结一下我的最终建议:
- 如果你的物理机(比如 NAS)内存在 4G 以下,建议使用 Docker 安装 Home Assistant Container。
- 如果你的物理机(比如 NAS)内存大于 4G,别犹豫,建议用虚拟机安装 HAOS,并且划分 2-4G 内存 给这台虚拟机。
相信我,多花一点硬件资源,换来的是后期折腾少掉的大把头发,这笔买卖对于新手来说,绝对划算!