环境搭建:在树莓派上安装 Home Assistant OS,以及 Docker 部署方式
好,咱们正式开始动手了。这一章我带你搞定环境搭建。说白了,就是让 Home Assistant 能在你的设备上跑起来。
我个人习惯把搭建方式分成两种:一种是「省心省力型」,用 Home Assistant OS;另一种是「灵活可控型」,用 Docker。两种我都用过,各有各的香。今天咱们都讲清楚。
先聊聊硬件选择
树莓派是跑 Home Assistant 的经典选择。我建议用树莓派 4B 或 5,内存至少 4GB。为什么?因为 Home Assistant 本身不重,但你要是装几个插件、跑点自动化,内存就吃紧了。
我在项目中遇到过用树莓派 3B 跑 HA,结果加载个历史图表要等半天。嗯,那体验确实不太行。
| 硬件 | 推荐度 | 说明 |
|---|---|---|
| 树莓派 4B (4GB) | ⭐⭐⭐⭐⭐ | 性价比之王,社区支持最好 |
| 树莓派 5 (8GB) | ⭐⭐⭐⭐ | 性能更强,但价格略高 |
| 树莓派 3B+ | ⭐⭐⭐ | 能用,但别装太多插件 |
存储方面,我建议用 32GB 以上的高速 TF 卡,或者直接上 SSD。TF 卡容易坏,尤其是频繁读写日志的时候。我曾经因为 TF 卡损坏,丢了一周的自动化配置……从那以后,我都是 SSD 起步。
方式一:安装 Home Assistant OS
这是官方推荐的方式。说白了,就是直接把 HA 刷到树莓派上,开机就能用。适合不想折腾的朋友。
第一步:下载镜像
去 Home Assistant 官网下载树莓派专用的镜像。注意选对版本:树莓派 4/5 选 haos_rpi4-64.img.xz。
第二步:烧录到 TF 卡
我推荐用 Raspberry Pi Imager 这个工具。操作很简单:
- 插上 TF 卡,打开 Imager
- 选择「Custom OS」→ 找到你下载的 HA OS 镜像
- 选择 TF 卡,点击「Write」
等几分钟,烧录完成。嗯,这里要注意:烧录过程中别拔卡,不然卡就废了。
第三步:首次启动
把 TF 卡插回树莓派,接上网线、电源。第一次启动会比较慢,大概 5-10 分钟。你可以在路由器后台看树莓派有没有拿到 IP 地址。
拿到 IP 后,浏览器输入 http://树莓派IP:8123,就能看到 Home Assistant 的初始化界面了。
方式二:Docker 部署
这种方式更灵活。你可以在已有的 Linux 系统上跑 HA,不影响其他服务。我个人比较喜欢这种方式,因为方便备份和迁移。
前提条件
你的树莓派上要先装好 Docker。如果你还没装,可以这样:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
装完记得把当前用户加到 docker 组:
sudo usermod -aG docker $USER
然后退出重新登录,让权限生效。
拉取并运行 HA 容器
直接上命令:
docker run -d \
--name homeassistant \
--restart=unless-stopped \
-v /path/to/config:/config \
-v /etc/localtime:/etc/localtime:ro \
--network=host \
ghcr.io/home-assistant/home-assistant:stable
我来解释一下这几个参数:
-d:后台运行--restart=unless-stopped:容器挂了自动重启,除非你手动停掉-v /path/to/config:/config:把配置目录挂载出来,方便备份--network=host:使用主机网络,这样 HA 能直接发现局域网设备
运行后,同样访问 http://树莓派IP:8123 就能看到界面了。
--network=host 时,端口映射参数 -p 就不需要了。如果你用桥接网络,记得加上 -p 8123:8123。
两种方式的对比
| 对比项 | Home Assistant OS | Docker 部署 |
|---|---|---|
| 安装难度 | 简单,刷机即用 | 中等,需要懂点 Linux |
| 插件支持 | 完整支持 Add-ons | 需要手动配置 |
| 备份迁移 | 需要整卡备份 | 备份 config 目录即可 |
| 资源占用 | 较低 | 略高(Docker 本身有开销) |
你想想看,如果你只是单纯想用 HA 控制家里的设备,那 OS 版本最省心。但如果你像我一样,树莓派上还跑着其他服务(比如 Node-RED、MQTT 服务器),那 Docker 方式更合适。
避坑指南
我曾经踩过的坑:
- TF 卡用了杂牌,结果一个月就坏了。后来我只用三星或闪迪的。
- Docker 部署时忘了挂载
/etc/localtime,导致 HA 里的时间总是差 8 小时。 - 第一次启动 HA OS 时,等了 20 分钟还没反应,其实是 TF 卡速度太慢。换了一张高速卡就好了。
嗯,环境搭建这部分就这些。说白了,选哪种方式取决于你的需求和动手能力。我个人建议:新手先用 OS 版本跑起来,玩熟了再考虑 Docker 迁移。
下一章咱们聊聊 HA 的初始配置和界面认识。到时候我会教你如何把第一个设备接入进来。