Homelab 笔记

用 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 目录里,我把它放进了每天的增量备份(见这篇)。升级镜像前再手动备份一次,出问题直接换回旧版本镜像。