目前尝试过安装在arm64和x64的Ubuntu上,Openwrt上,Pve母机的Debian上,openwrt直接跑会出现内存溢出的情况,本文最后说说如何从根本上解决,顺便鄙视一下某个每篇文章都要1.99元的网站

虽然官方有安装脚本,但等于没有一样,并用不了,不要尝试

下载

arm64

docker pull homeassistant/aarch64-homeassistant
docker pull homeassistant/aarch64-hassio-supervisor

x64

docker pull homeassistant/amd64-hassio-supervisor
docker pull homeassistant/qemux86-64-homeassistant

启动

不要看官方文档安装他所需要的依赖,因为那些依赖确实没有也行,并且如果在Pve下安装networkmanager会导致网络崩坏

此处 /opt/apps/hassio 是Home Assistant的所有数据,可以改到你想要的地方,迁移的时候也只需要迁移这个文件夹,并卸载重新安装所有插件(插件即容器,数据不会丢)

arm64

docker run -d --name hassio_supervisor \
--restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/run/dbus:/var/run/dbus \
-v /opt/apps/hassio:/data \
-e SUPERVISOR_SHARE=/opt/apps/hassio \
-e SUPERVISOR_NAME=hassio_supervisor \
-e HOMEASSISTANT_REPOSITORY=homeassistant/aarch64-homeassistant \
homeassistant/aarch64-hassio-supervisor

x64

docker run -d --name hassio_supervisor \
--restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/run/dbus:/var/run/dbus \
-v /opt/apps/hassio:/data \
-e SUPERVISOR_SHARE=/opt/apps/hassio \
-e SUPERVISOR_NAME=hassio_supervisor \
-e HOMEASSISTANT_REPOSITORY=homeassistant/qemux86-64-homeassistant \
homeassistant/amd64-hassio-supervisor

然后需要耐心等待,按网速和性能需要蛮长时间的,用这个命令来看安装情况或者直接去portainer看log

docker logs -f hassio_supervisor

另外有人说装完之后找不到Supervisor的菜单,新版的菜单在设置里而不是左边菜单栏上,如果实在找不到,访问路径/hassio/dashboard

错误和解决方案

'AddonManager.install' blocked from execution, system is not healthy

hassio文件夹下新建jobs.json并在里面写入

{"ignore_conditions": ["healthy"]}

在Openwrt下,hassio_audio会以肉眼可见的速度拼命吃内存,原因是因为Openwrt没有/dev/fd
解决方案1(推荐)

ln -s /proc/self/fd /dev/fd

并且写到启动项中(因为是tmpfs所以需要每次开机都建一次软连接)
解决方案2(虽然说这东西没啥用,但hassio_supervisor有守护进程,会自动重启它,起起停停浪费资源)
在计划任务写入

* * * * * docker kill hassio_audio

既然都用到hassio了,那肯定会用到mqtt吧,那就启动一个emqx吧

docker run -d --name emqx -v /etc/localtime:/etc/localtime -p 1883:1883 -p 18083:18083 emqx/emqx

然后发现启动报错,因为Openwrt没有/etc/localtime和/etc/timezone

opkg install zoneinfo-asia
/etc/init.d/system reload