HomeAssistant基于Docker容器技术,可以快速部署和管理.并可与其它主机或服务器共用,有效节省资源。
但Docker容器技术对系统资源有一定要求,且对网络环境有依赖。并且在某些情况下,在全断网完全全离线的情况下部署。
因此,才有了本文档。
为了能在任意主机上用Docker快速安装HomeAssistant,建议提前准备好Docker环境,但Docker官网被封锁,导致Docker的安装,及镜像的拉取都极为困难。因此,可以使用如下方式安装Docker及Docker Compose:
HKO
Home Assistant: http://$(主机IP):8123
Node-RED: http://$(主机IP):1880
Mosquitto MQTT: http://$(主机IP):1883
PostgreSQL: http://$(主机IP):5432
Samba: //$(主机IP)/HAConfig
portainer: http://$(主机IP):9000
因为使用了Docker容器技术,所以HomeAssistant的加载项是没有的,官方对Docker不提供加载项功能,也没办安装下。
所以作为替代,我们把加载项中最重要要的几个插件都以docker的方式单独提供,并能与HomeAssistant相互配合工作,它们是
Node-RED, Mosquitto MQTT, PostgreSQL, Samba等。
本文提供的HomeAssistant是自已重新打包的docker集成了HACS,及一些新安常用的主题UI风格,和小米HOME集成等。安装完成后,无需再安装此类插件。
HomeAssistant已配置默认使用容器提供的pgsql数据库来存储数据,并设定了5天可能自动清除数据,容器内的日志,保留置三天。
因为使使用了Docker容器技术,所以HomeAssistant的配置文件是存放在主机的/dt_opt/ha/config目录下,可以通过Samba共享访问此目录,或直接在主机上访问此目录来管理配置文件。在HomeAssistant中,不在有FileEditor插件了,因此只能使用共享文件夹来管理配置文件。
Home Assistant: http://$(主机IP):8123 用户名:admin 密码:Dtuse1r
Node-RED: http://$(主机IP):1880 无用户名
Mosquitto MQTT: http://$(主机IP):1883 用户名:dtuser 密码:Dtuse1r
PostgreSQL: http://$(主机IP):5432 数据库名:dtha 用户名:dtuser 密码:Dtuse1r
Samba: //$(主机IP)/HAConfig 无需要密码即可访问
portainer: http://$(主机IP):9000 用户名:admin 密码:Dtuse1r_abcd
关于Samba(共享目录访问配置目录)
Windows 端访问时,输入正确的用户名和密码。因本服务配置了允许guest访问,所以可直接访问,而无须用户名与密码。但是对于windows10/11,有可能会反复要求输入密码而无法访问,是因为安全策略问题,可在 Windows 本地组策略中调整: 打开“本地组策略编辑器”(gpedit.msc),计算机配置 → 管理模板 → 网络 → Lanman工作站,启用“启用不安全的来宾登录”。启用后,即可正常访问此共享的配置目录。
如下图是以共享的方式访问配置目录:

共享目录访问失败的解决办法
关于portainer(图型化Docker管理工具)
Portainer 是一个轻量级的管理UI,可以让你更容易地管理Docker容器。通过Portainer,你可以轻松地创建、管理和监控Docker容器,查看容器日志,管理Docker镜像等。Portainer的Web界面友好,适合Docker新手和需要快速管理Docker环境的用户。
如下图所示:
