用 Docker 跑 Home Assistant 的几个注意点
家里的智能设备越来越多,各家 App 互不相通,最后还是把它们都接进了 Home Assistant。手头有一台常年开机的小主机,就直接用 Docker 跑了容器版。
docker run -d \
--name homeassistant \
--restart unless-stopped \
--privileged \
-e TZ=Asia/Shanghai \
-v /opt/homeassistant:/config \
-v /run/dbus:/run/dbus:ro \
--network host \
ghcr.io/home-assistant/home-assistant:stable
为什么要用 host 网络
很多设备靠 mDNS、SSDP 这类局域网广播被发现,桥接网络下这些广播进不了容器,集成会一直搜不到设备。用 --network host 最省事,Web 界面直接在宿主机的 8123 端口。
容器版没有加载项
容器版不带 Supervisor,也就没有"加载项商店"。Mosquitto、Zigbee2MQTT 这类服务需要自己另起容器,好处是每个服务都能单独升级、单独备份。
备份
所有配置都在挂载进去的 /opt/homeassistant 目录里,我把它放进了每天的增量备份(见这篇)。升级镜像前再手动备份一次,出问题直接换回旧版本镜像。