引子
HAOS 是 Home-Assistant 的操作系统集成版。选择它主要是因为支持虚拟化部署,方便在 PVE 集群中实现热迁移、备份等;另外基于 Docker 的 Addon 体系还支持一键安装,方便将 Node-RED 这类专用于 IoT 的系统归集管理(但建议完善防火墙设置,因为 Addon 基本都默认开放子网访问)。
安装
在 PVE 集群的任意 Node 安装 HAOS :
请自行审计下方的远程脚本代码。
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/vm/haos-vm-v4.sh)"
安装完毕后,我们可以调整一下 VM 配置:
然后启动 VM 并通过 http://haos_ip:8123/
访问 Web UI 注册账号,开始配置——
配置
反向代理
我使用 traefik 反向代理几乎家中的所有其它服务。给 HAOS 分配域名后,访问时却得到 400 Bad Request
错误。
查询文档后得知需要增加反向代理的 IP 白名单。
修改 /config/configuration.yaml
增加:
请根据自身网络情况设置。
http:
use_x_forwarded_for: true
trusted_proxies:
- reverse_proxy_ip:port
加入 IoT VLAN
如另一篇文章中所述,我在家庭网络为 IoT 设备单独区分了子网和 VLAN ,类似下图:
图片借自此帖,需注意 VLAN ID 不同。
当 HAOS 仅加入主网络 VLAN1
却未加入 IoT 子网 VLAN10
时,部分设备将可能无法连接。(如下图)
最简单的解决方法是将 HAOS 加入对应的 IoT 子网。
此处假设 HAOS 默认网卡为
enp6s18
,IoT VLAN ID 为10
;内网未启用 IPV6 。
在 HA Cli 中执行:
ha network vlan enp6s18 10 --ipv4-method auto --ipv6-method disabled
ha network reload
若想删掉这个 VLAN 网卡,请在 Shell 中执行并重启:
rm /etc/NetworkManager/system-connections/Supervisor\ .10.nmconnection
持续更新中……