HA OS 与 HA Container:装哪个

一道绕不开的选择题

上一篇我们用 Docker 把 HA 跑了起来,但这并不是唯一的路,甚至不一定是适合你的那条路。HA 官方提供三种部署形态:HA OS、HA Container、HA Core。对绝大多数人来说,真正纠结的是前两种——HA OS 像买精装房,拎包入住;HA Container 像买毛坯自己装,灵活但要张罗。本篇把两者掰开揉碎对比,帮你一次选定,避免将来反复搬家。

其实这个选择在计划阶段就应该完成:它决定了你买不买新硬件、要不要虚拟机、有哪些后续维护工作。上一篇顺序上先教的 Docker,纯粹因为它最快、最适合验证你这台机器跑不跑得动 HA。跑通之后,再回头认真思考形态问题,是合理的节奏。

先把结论摆在这里:新手、想省心、要 USB 协调器、看重 Add-on 商店的,选 HA OS;家里有现成 NAS 或软路由、愿意自己管理周边服务的,选 Container。 下文解释为什么。

对比项 HA OS HA Container
安装方式 刷镜像或虚拟机 Docker 容器
管理界面 图形化全套 只有 HA 本身
Add-on 商店 有 无
备份恢复 完整快照 需自行处理
USB 协调器支持 原生 需要直通配置
资源占用 整机独占 小,可与其它服务共存
适合宿主机 树莓派、小主机、虚拟机 NAS、软路由、任意 Docker 环境

两种形态的核心差异

HA OS:官方的完整形态

HA OS 是官方维护的整套操作系统,本质是一个高度精简的 Linux 发行版,上面预装了 HA 核心以及全套周边组件,甚至连命令行登录都给你配好了。它的设计哲学就一个字:包办。这也是为什么大多数教程和社区讨论默认以 HA OS 为背景——它是官方心目中 HA 该有的样子。

装它的常见路径有三条:

  • 树莓派或小主机裸机刷机:官网下载镜像,用刷机工具写进 SD 卡或 SSD,开机就走安装流程,和装手机系统一个体验。
  • 虚拟机安装:在 PVE、ESXi 或群晖虚拟机管理器里导入官方的虚拟硬盘文件,分配两核 CPU、四G 内存和一块虚拟磁盘即可。这是折中派最爱的玩法——既享受 HA OS 的完整功能,又能和软路由等系统共存于一台物理机。虚拟机方案也是本书最推荐给 CAS 玩家的路线,同类操作在软路由入门指南里有图文示范。
  • 成品硬件:官方合作厂商的现成设备,买来联网即用,适合完全不想折腾的人。

HA OS 三种装法

HA OS 的杀手锏是 Add-on 商店:代码编辑器、Node-RED、Mosquitto MQTT 代理、文件管理等周边服务都能一键安装,和 HA 本体一起被统一备份、统一升级。对不想碰 Linux 的人来说,这就是开源软件少有的省心体验。所有 Add-on 都由官方维护适配,版本兼容性你完全不用操心。

它的代价是独占性:HAOS 设计上倾向于独占整台机器(裸机形态),或至少独占一个虚拟机。你的 NAS 上既要存照片又想跑 HA,还得要整套 Add-on,那就只能用虚拟机方案——前提是 NAS 愿意分出这份资源。另一个小门槛是首次安装需要一点刷机或虚拟机操作,比上一篇的 Docker 命令多几步,但全程有官方文档兜着,照做不会错。

HA Container:最小核心

Container 形态只运行 HA 的核心进程,装在 Docker 容器里,什么宿主机都行。上一篇已经展示过它的部署有多快——这世上大概没有比一条 docker compose up -d 更简单的安装方式了。

它的优势可以总结为三点:

  • 共存:NAS 上同时跑着影视、下载、照片相册,再加一个 HA 完全没压力,资源各取所需。
  • 可控:容器该给多少内存、挂在哪、什么时候重启,全由你定,配置就是 compose 文件里几行字。
  • 迁移容易:整个配置目录一拷就能在别处重建,不依赖具体硬件。

代价同样明确:没有 Add-on,所有周边服务都要自己用 Docker 另行部署;系统级的备份要自己想办法(最省心的做法是定期把整个配置目录同步到别处,详见备份那篇);USB 协调器需要额外的直通配置,新手容易在这里卡住,但一旦配好就一劳永逸。

还有一点容易被忽略:Container 里的 HA 升级完全由你掌控,不会半夜被自动更新。这既可以叫稳定,也可以叫落后——取决于你有没有定期维护的习惯。HAOS 用户跟着官方推送走,Container 用户需要自己记着拉新镜像。

关键差异逐条展开

几个最容易让人在两种形态之间摇摆的点,展开说说。

Add-on 商店到底有多重要? 如果你只是接设备、写自动化、看仪表盘,Add-on 其实可有可无。但一旦你开始玩 MQTT 设备、Node-RED 高级流程、或者想在 HA 里直接改配置文件,Add-on 一键安装的快乐就起来了。Container 用户也有更豁达的一面:这些服务全都可以自己用 Docker 跑,自由度反而更高,只是多了点点鼠标的活。

备份的差别:HAOS 有完整的快照系统,一键打包整个系统,恢复也是一键。Container 用户要么手动同步配置目录,要么借助宿主机或 NAS 的备份工具(群晖就有很方便的容器备份方案)。两者都能达到目的,只是 HAOS 让你完全不用想这件事,而 Container 需要你建立纪律。备份这件事千万别偷懒,备份专门那篇会告诉你为什么它是 HA 玩家最重要的习惯。

升级的差别:HAOS 在系统页面里点一下检查更新就完事,新版本 HA 和系统组件一起更新;Container 要拉新镜像、重建容器。流程都不难,区别在于前者你根本忘不掉,后者要你自己记着做。

远程访问的差别:两种形态都可以接官方的 Nabu Casa 订阅或自建反向代理,差别只在一个细节:HAOS 的远程访问开关在设置界面里,而 Container 用户要自己确认容器网络环境是否满足要求。这点在远程访问那篇会细讲。

两形态功能完整度

第三种形态:HA Core

还有个 HA Core,直接在 Python 虚拟环境里跑源码。它面向的是少数研究型玩家:想读源码、想跑分支、想深度定制。普通用户没有任何理由走这条路——维护成本高,每次升级都可能踩依赖问题,得到的东西却和 Container 一模一样。如果你以后成了贡献者,再回来看它不迟。

怎么选:三问定方案

帮你把决策压缩到三个问题:

  1. 你有现成的常开 Docker 宿主机吗? 没有就别犹豫,HA OS 裸机或虚拟机。
  2. 你要不要用 USB 协调器接 Zigbee? 要的话 HA OS 最省心;Container 需要确认 USB 直通可行。
  3. 你愿不愿意自己管理周边服务和备份? 不愿意就 HA OS,愿意就 Container。

还有第三个容易忽略的因素:你今后的扩展方向。如果已经预见到自己会玩 Node-RED、ESPHome、复杂的媒体方案,HAOS 的 Add-on 生态会帮你省下大量配置时间;如果只想把 HA 当成汇聚开关,Container 的轻量反而让它在老旧硬件上也跑得动。

三个问题加上扩展方向,答案自己就出来了。还有一个现实因素:家人对稳定性的容忍度。越民主的家庭越适合 HAOS,因为出问题时恢复路径清晰,点几下就能回到正常状态;越爱折腾的极客越适合 Container,因为所有细节都在自己手里。

你的画像 推荐形态
零基础、怕麻烦 HA OS 裸机或成品设备
有 NAS、要共存存储服务 HA Container
想要 USB 协调器加全套 Add-on HA OS 虚拟机
老玩家、追求控制力 HA Container
源码贡献者、研究者 HA Core

可以先选一个,不行再换

最后给你一颗定心丸:两种形态之间是可以随时迁移的。配置目录本身就是全部核心数据,从 Container 搬到 HAOS 虚拟机,本质就是把这个目录放到新系统的对应位置,或者重新导入一遍备份即可。反过来也一样,整个过程不用重接任何一台设备、不用重写任何一条自动化。所以不要有选错的心理负担,先用最顺手的形态跑起来,设备接进来了、自动化跑起来了,形态从来不是最重要的事。

延伸阅读