核心是用docker compose部署ghcr.io/home-assistant/home-assistant:stable镜像,挂载/config目录并启用host网络模式,确保配置持久化、设备自动发现与hacs稳定运行。

用Docker部署智能家居控制中心,核心是把HomeAssistant(HA)作为统一中枢,通过容器隔离、配置持久化和网络直通,实现稳定、可复现、易维护的本地自动化平台。关键不在“能不能跑”,而在“跑得稳、连得上、扩得开”。
选对镜像与部署方式
官方推荐使用 ghcr.io/home-assistant/home-assistant:stable 镜像,它比 latest 更成熟,避免开发版偶发兼容问题。优先采用 Docker Compose 而非单条 docker run 命令——前者用一个 YAML 文件定义服务依赖、挂载、网络和重启策略,后续升级、备份、迁移都更可控。
- 镜像拉取前务必配置国内镜像源(如阿里云、中科大),否则在大陆网络环境下可能超时失败
- Windows 用户需启用 WSL2 并在 Docker Desktop 设置中开启“Use the WSL 2 based engine”
- 群晖、爱快等软路由平台,直接使用其图形化 Docker 套件即可,无需命令行,但要注意分配足够存储(建议 ≥10GB)和内存(≥2GB)
配置目录与设备权限必须到位
HomeAssistant 的配置(configuration.yaml)、插件(custom_components)、数据库(home-assistant_v2.db)全存在 /config 目录下。容器启动时若该目录为空,会自动生成默认配置;若已有配置,则必须正确挂载,否则所有设置都会丢失。
使用 Python 脚本下载 Docker 镜像并打包为 tar 文件。用户说“下载镜像”“拉取镜像”“pull xxx”“帮我下载 nginx 镜像”等时触发。支持 SOCKS5 代理直连(推荐)和国内镜像站加速两种模式。
- 挂载路径示例:
./config:/config(Linux/macOS)或C:\ha\config:/config(Windows) - 接入 Zigbee/Z-Wave USB 棒时,需添加
devices映射,并启用privileged: true,否则无法识别串口设备 - 务必挂载
/etc/localtime:/etc/localtime:ro,否则日志时间错乱,排查问题困难
网络模式决定设备发现成败
HomeAssistant 依赖 mDNS、SSDP 等协议自动发现局域网设备(如米家网关、飞利浦 Hue 桥、索尼电视)。这些协议在 Docker 默认的 bridge 网络下通常失效。
- 推荐使用
network_mode: host,让容器直接共享宿主机网络栈,零配置支持设备自动发现 - 若必须用
bridge模式(如群晖默认),需手动添加extra_hosts和开启dns_search,复杂且不稳定,新手不建议 - 端口映射只需确保 8123 端口可访问;host 模式下无需额外声明
ports
HACS 与插件生态要一次配稳
HACS(Home Assistant Community Store)是安装第三方集成、主题、仪表板的关键入口。它的安装不是“点一下就完事”,而依赖网络连通性、Git 工具和正确权限。
- 首次启动 HA 后,先访问
http://[IP]:8123完成基础设置(创建管理员账户),再进入 Settings → System → Add-on Store,启用 SSH/Web Terminal - 通过终端执行一键安装脚本:
curl -sL https://raw.githubusercontent.com/hacs/install/main/script.sh | bash -,完成后重启 HA - 国内用户若提示 Git 克隆失败,需在容器内配置 Git 全局代理或更换 HACS 插件源为国内镜像(如 gitee 中转)










