环境搭建:在树莓派上安装 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 这个工具。操作很简单:

  1. 插上 TF 卡,打开 Imager
  2. 选择「Custom OS」→ 找到你下载的 HA OS 镜像
  3. 选择 TF 卡,点击「Write」

等几分钟,烧录完成。嗯,这里要注意:烧录过程中别拔卡,不然卡就废了。

第三步:首次启动

把 TF 卡插回树莓派,接上网线、电源。第一次启动会比较慢,大概 5-10 分钟。你可以在路由器后台看树莓派有没有拿到 IP 地址。

拿到 IP 后,浏览器输入 http://树莓派IP:8123,就能看到 Home Assistant 的初始化界面了。

小技巧: 如果你不知道树莓派的 IP,可以用手机 App「Fing」扫描局域网,或者直接接个显示器看终端输出。

方式二: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 的初始配置和界面认识。到时候我会教你如何把第一个设备接入进来。