Docker 版 HomeAssistant 安装及配置SSL证书
一直都在使用Proxmox VE (PVE)创建的虚拟机,在虚拟机里面安装的HomeAssistant OS,但是由于占用了过多的内存及存储,所以考虑换了docker版本。之前试过Docker版本,因为 的网络配置较为复杂,所以才犹豫放弃了。但是随着时间的推移,Home Assistant OS 版本占用了过多的内存和存储,因此决定再次尝试 Docker 版本。以下是HomeAssistant各个版本的区别:
Docker compose部署HomeAssistant
使用ssh连接服务器,自定义一个存放docker-compose文件的目录,在目录里面新建一个名为HomeAssistant的文件夹,并在里面新建 docker-compose.yml 的文件内容如下:
version: '3.3'
services:
homeassistant:
container_name: homeassistant
image: "ghcr.io/home-assistant/home-assistant:stable"
volumes:
- /compose/HomeAssistant/data:/config # 将宿主机的 "/compose/HomeAssistant/data" 目录挂载到容器的 "/config" 目录
- /etc/localtime:/etc/localtime:ro
- /run/dbus:/run/dbus:ro
restart: unless-stopped
privileged: true
ports:
- "8123:8123"
networks:
- ha_net
networks:
ha_net:
driver: bridge # 使用桥接网络驱动
确保已经创建好了/compose/HomeAssistant/data目录,cd到docker-compose.yml目录使用 docker-compose up -d 拉取并部署当前项目。
使用ip+端口8123访问。
下载并安装HACS
进入homeassistant容器
docker exec -it homeassistant bash
运行下载脚本 查看详情 。
wget -O - https://get.hacs.xyz | bash -
反向代理并配置SSL
docker network ls
docker network inspect homeassistant_ha_net
使用上面命令查看 homeassistant 容器网络的子网
另外还需要在HomeAssistant设置-系统-网络里面的查看 网络适配器 IP是否在子网范围内。
找到映射到主机的/compose/HomeAssistant/data目录编辑configuration.yaml文件。在后面添加下面参数:
http:
use_x_forwarded_for: true
trusted_proxies:
- 172.25.0.0/16 #容器网络的子网范围
使用Nginx Proxy Manager进行反代
域名配置SSL可以查看往期的教程 Nginx Proxy Manager配置ssl证书 。注意一定要要勾选 Websockets Support 选项。
接下来就可以使用反代域名访问HomeAssistant