homeassistant 在虚拟机中通过supervised方式安装

homeassistant 在虚拟机中通过supervised方式安装

homeassistant可以有很多种安装方式

  • 直接安装HAOS,可以在树莓派等物理设备上安装,也可以在虚拟机上安装。
  • 使用docker安装
  • 在物理机或虚拟机上安装debian系统,再在上面通过supervised方式安装。
    各种安装方式的区别:
    各种安装方式的区别
  • docker方式安装最方便,也最轻量,但是不支持supervisor(有两个主要功能1.可以直接监控和控制宿主机;2.附带一个插件商店)
  • 第一种和第三种方案支持supervisor。
  • 直接安装haos操作简便,直接去官网下载对应硬件或虚拟机的镜像安装即可。但是最新版本安装完成后,登录后台shell是homeassistant 的command line(ha cli)。没有找到返回系统shell的方法,一直开不了ssh,所以放弃了,有知道怎么处理的小伙伴可以留言告知。
  • 通过supervised方式安装,需要先下载安装debian(我用的最新的debian11),然后根据官网的说明运行相应的命令即可。这种方式有操作系统的所有权限,配置ssh访问啥的更灵活。

我的硬件环境是一个7200U的工控机,宿主机安装了unraid,在上面安装了爱快和openwrt做软路由。一台群晖。有以下几种安装方式可选,并且也分别作了尝试:

  1. List item
  2. 在unraid下通过docker安装。
  3. 在群晖下通过docker安装。
  4. 在unraid下建立虚拟机,安装haos
  5. 在unraid下建立虚拟机,安装debian,再通过supervised方式安装。
    当然,应该也可以在群晖的虚拟机下安装,但是群晖的虚拟机是性能堪忧,没有尝试。实在没有别的解决方案的可以尝试一下。

最终选择了unraid+debian+supervised方式安装。

  1. 下载最新debian镜像debian-11.1.0-amd64-netinst.iso,放到unraid的/mnt/user/isos目录下。
  2. 新建linux虚拟机,内存2G,挂载iso镜像。
    在这里插入图片描述
  3. 开机完成debian安装,可以选择shell方式,节省硬件开销。
  4. 按照homeassistant官网步骤,安装supervised。具体参照https://www.home-assistant.io/installation/linux

安装完成后,浏览器打开http://ha服务器的ip:8123访问。可以直接进入但是需要等待一段时间进行安装,具体步骤参照网上相关教程。

安装hacs

参照网上相关文章。
需要注意的是,采用supervised方式安装时,configuration.yaml所在的目录为:/usr/share/hassio/homeassistant。

通过https方式访问

基本思路:通过nginx代理的方式将http代理为https。

  • hassio默认不允许被代理,代理后会报400错误。需要修改configuration.yaml文件,添加如下代码
http:
  use_x_forwarded_for: true
  trusted_proxies:
    - nginx服务所在系统的ip地址
  ip_ban_enabled: true
  login_attempts_threshold: 5

然后再在nginx下配置https代理,具体方式不再赘述。
我用的是群晖的反向代理服务一直无法登录,获取token的接口一直报400错误。
但是使用hass自带的NGINX Home Assistant SSL proxy插件代理,代理成功。

具体操作:

  1. 按照上面的配置在configuration.yaml中开启use_x_forwarded_for: true等。
  2. 在supervisor的addon中添加NGINX Home Assistant SSL proxy,具体配置如下:
certfile: fullchain.pem
cloudflare: false
customize:
 active: false
 default: nginx_proxy_default*.conf
 servers: nginx_proxy/*.conf
domain: 你的域名
hsts: max-age=31536000; includeSubDomains
keyfile: privkey.pem
  1. 准备证书。把证书放到/usr/share/hassio/homeassistant/ssh目录下
    我是通过群晖的定时任务从lets encrypt获取证书的,证书在群晖中通过反向代理代理所有的内网服务为https。但是反向代理homeassistant总是不成功。但是为了保证证书的通用,需要把群晖的证书拷贝到homeassistant的宿主机上(我是通过supervised方式安装的)。
    可以使用nfs挂载的方式将证书映射到目标服务器。
#安装cifs-utils
 apt-get install cifs-utils
 mount -t cifs -o username=群晖用户名,password=群晖密码,iocharset=utf8 //群晖IP/证书所在路径 /usr/share/hassio/homeassistant/ssh

其他问题

supervisor中找不到Node-RED:

在supervisor的仓库中添加如下项:https://github.com/hassio-addons/repository

自定义侧边栏

新版本的supervisor不在侧边栏上了,而是放到了“配置”菜单下。可以借用panel-redirect.js把很多常用的图标配置到侧边栏。
首先从https://gist.github.com/balloob/580deaf8c3fc76948559c5963ed4d436下载panel-redirect.js
将这个js文件放到/usr/share/hassio/homeassistant/www目录下
在configuration.yaml中配置想要的侧边栏,举例如下

panel_custom:
  - name: panel-redirect
    url_path: redirect-server-controls
    sidebar_title: 服务控制
    sidebar_icon: mdi:server
    module_url: /local/panel-redirect.js
    config:
      target: /config/server_control
  - name: panel-redirect
    url_path: redirect-logs
    sidebar_title: 日志
    sidebar_icon: mdi:math-log
    module_url: /local/panel-redirect.js
    config:
      target: /config/logs
  - name: panel-redirect
    url_path: redirect-devices
    sidebar_title: 设备列表
    sidebar_icon: mdi:devices
    module_url: /local/panel-redirect.js
    config:
      target: /config/integrations
  - name: panel-redirect
    url_path: redirect-supervisor
    sidebar_title: Supervisor
    sidebar_icon: mdi:home-assistant
    module_url: /local/panel-redirect.js
    config:
      target: /hassio/dashboard
  - name: panel-redirect
    url_path: redirect-NodeRED
    sidebar_title: Node-RED
    sidebar_icon: mdi:cube-send
    module_url: /local/panel-redirect.js
    config:
      target: /hassio/ingress/a0d7b954_nodered

挂载带密码的NFS

http://blog.joylau.cn/2020/09/29/Linux-Mount-Auth-NetDisk/

  • 1
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在VirtualBox安装Home Assistant,你可以按照以下步骤进行操作: 1. 首先,确保已经安装了VirtualBox软件。你可以从VirtualBox官方网站(https://www.virtualbox.org/)下载并安装适用于你的操作系统的最新版本。 2. 下载Home Assistant的虚拟映像文件。你可以从Home Assistant官方网站(https://www.home-assistant.io/hassio/installation/#alternative-install-home-assistant-supervised)获取最新版本的映像文件。 3. 打开VirtualBox软件,在菜单栏点击“文件”(File),然后选择“导入虚拟电脑”(Import Appliance)选项。 4. 在导入虚拟电脑向导,点击“选择文件”(Choose)按钮,并选择之前下载的Home Assistant映像文件。然后点击“下一步”(Next)继续。 5. 在设置对话框,可以根据需要修改虚拟的名称、文件位置和大小等设置。然后点击“导入”(Import)按钮开始导入虚拟。 6. 导入完成后,你会在VirtualBox主界面看到新创建的Home Assistant虚拟。选择它,并点击“启动”(Start)按钮。 7. Home Assistant虚拟将开始启动,并显示相关的启动信息。等待一段时间,直到看到出现Home Assistant的登录界面。 8. 在登录界面,使用用户名和密码登录。默认的用户名是“root”,密码为空(即留空)。登录后,你将可以访问Home Assistant的控制面板。 现在,你已经成功在VirtualBox安装了Home Assistant。你可以通过Web浏览器访问Home Assistant的控制面板,并进行相应的配置和操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值