Home Assistant OS 在 PVE 中的安装与配置(持续更新中)

引子

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 配置:

Devices Offline

然后启动 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 不同。

Home Network Topology Example

当 HAOS 仅加入主网络 VLAN1 却未加入 IoT 子网 VLAN10 时,部分设备将可能无法连接。(如下图)

Devices Offline

最简单的解决方法是将 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

持续更新中……

更早的文章

使用 mDNS reflector 解决 VLAN 隔离下 IoT 设备的服务发现问题

引子 不少热衷于智能家居的朋友应该也和我一样为 IoT 设备启用了专用的 VLAN 和 SSID ,配合防火墙、QoS 甚至 DTIM 等高级设置能尽量确保这些设备被“关在笼子里”。…

homelabvlan 继续阅读