brain-hole

Docker 版 HomeAssistant 安装及配置SSL证书

小茗同学本文共:363 字 阅读需要:1 分钟 加载中...

一直都在使用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