群晖Docker部署HomeAssistant容器结合内网穿透远程控制家中智能设备

本文主要是介绍群晖Docker部署HomeAssistant容器结合内网穿透远程控制家中智能设备,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、下载HomeAssistant镜像

二、内网穿透HomeAssistant,实现异地控制智能家居

三、使用固定域名访问HomeAssistant


前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。 点击跳转到网站

HomeAssistant是一个可以控制苹果小米、MQTT等设备的智能家居平台。本文首先介绍如何使用群晖NASDocker套件来安装HomeAssistant平台,安装成功后,如何结合cpolar内网穿透工具实现公网访问。

image-20231101144124179

基本条件:

  • 有正版群晖或黑群辉,可以装docker。

一、下载HomeAssistant镜像

打开群晖 容器 管理 套件(较旧系统版本对应的套件为群辉Docker

image-20231101145017685

注册表 中搜 home-assistant ,右击下图中的 homeassistant/home-assistant 项目下载镜像。

image-20231031104919684

FileStation进入 /docker文件夹 新建Homeassistant文件夹

image-20231031110256470

等待下载完毕:

image-20231031104811171

双击此映像并打开

image-20231031104830761

输入随便什么名称,勾选自启动功能,下一步

image-20231031114842291

存储空间设置: 选择/dokcer/homeassistant 这个刚才新建的路径

image-20231031114920101

在 路径 中填入 /home,给读写权限

image-20231031115038593

环境中添加 variable = TZ 和 value = Asia/Shanghai

image-20231031115016583

网络 选择 host

image-20231031112250869

检查上述修改事项,完成

image-20231031115134771

可见 容器启动成功

image-20231031115207104

此时,自行查找群晖局域网地址,后边加上:8123就是homeassistant局域网地址

http://X.X.X.X:8123

此处我建议使用群晖助手 查找群晖ip:

image-20231031115714326

本地浏览器 输入 http://192.168.50.31:8123/,进入homeassistant初始化流程:

image-20231031115549734

注册账户——选择家庭地区

image-20231031132612751

成功进入,现在我们就能尽情安装插件,绑定智能家居设备啦!

image-20231031132628581

二、内网穿透HomeAssistant,实现异地控制智能家居

想要在户外访问本地Docker容器部署的项目,就需要内网穿透软件,这里我们使用的是免费不限流量的cpolar,如何在群晖NAS安装cpolar请参考:

如何在群晖系统中安装cpolar(群晖7.X版) – cpolar 极点云

安装完毕后,打开cpolar套件,点击右下角 :9200的局域网地址:

image-20231031144207592

image-20231101112900691

​ 登录进去后,点击左侧仪表盘的隧道管理——创建隧道,我们来创建一条用于映射HomeAssistant的局域网地址到公网的隧道。

  • 隧道名称:可自定义
  • 协议:http
  • 本地地址:X.X.X.X:8123
  • 域名类型:随机域名(cpolar免费版)
  • 地区:选择China(cpolar免费版选择China,付费版可选择china vip)

点击创建

填写如下:

image-20231101112926619

下一步我们 点击 在线隧道列表,复制这个公网链接到浏览器:

image-20231101112956177

出现400报错,bad request 意思是 “错误的请求”;

此时不要慌,这是因为homeassistant中未针对反向代理进行设置,所以我们需要在配置文件中简单修改一下。

image-20231101114519651

点 配置

image-20231101115218411

系统

image-20231101115236829

日志

image-20231101115246203

此处可以查看外部访问的错误日志

image-20231101115306339

在NAS中编辑文件,需要安装 文本编辑器 套件

image-20231101114622582

在/docker/中找到 configuration.yaml 配置文件,右键使用编辑器打开

image-20231101114704123

在最后 粘贴如下一段代码:

image-20231101114835219

下面ip地址就是我们上面查看日志提示的那个ip地址,此处需要自行修改

http:use_x_forwarded_for: truetrusted_proxies:- 192.168.50.31

Bash

Copy

image-20231101115840620

保存修改

image-20231101115853349

重启容器

image-20231101115939793

刷新 公网访问的网页,输入用户名密码进入:

image-20231101120027303

image-20231101142719941

要注意的是,以上步骤使用的是随机临时端口地址,所生成的公网地址为随机临时地址,该公网地址24小时内会随机变化。我们接下来为其配置固定的端口地址,该地址不会变化,设置后将无需每天重复修改地址。

三、使用固定域名访问HomeAssistant

登录cpolar官网,点击左侧的预留,找到保留的tcp地址,我们来为HomeAssistant保留一个固定二级子域名。

image-20231101143001822

保留成功后复制保留的二级子域名地址

image-20231101143226198

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区选择 官网后台保留的地区(保持一致)

点击更新

​ 更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了保留过的二级子域名名称,将其复制下来

image-20231101143258017

复制粘贴,即可使用固定的公网ip登录。

image-20231101143327271

HomeAssistant如何添加HACS插件并实现公网控制米家,HomeKit等智能家居,详情请看:HomeAssistant添加HACS插件并实现公网控制米家,HomeKit等智能家居 – cpolar 极点云

这篇关于群晖Docker部署HomeAssistant容器结合内网穿透远程控制家中智能设备的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/574752

相关文章

Docker镜像修改hosts及dockerfile修改hosts文件的实现方式

《Docker镜像修改hosts及dockerfile修改hosts文件的实现方式》:本文主要介绍Docker镜像修改hosts及dockerfile修改hosts文件的实现方式,具有很好的参考价... 目录docker镜像修改hosts及dockerfile修改hosts文件准备 dockerfile 文

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

Docker镜像pull失败两种解决办法小结

《Docker镜像pull失败两种解决办法小结》有时候我们在拉取Docker镜像的过程中会遇到一些问题,:本文主要介绍Docker镜像pull失败两种解决办法的相关资料,文中通过代码介绍的非常详细... 目录docker 镜像 pull 失败解决办法1DrQwWCocker 镜像 pull 失败解决方法2总

如何将Tomcat容器替换为Jetty容器

《如何将Tomcat容器替换为Jetty容器》:本文主要介绍如何将Tomcat容器替换为Jetty容器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat容器替换为Jetty容器修改Maven依赖配置文件调整(可选)重新构建和运行总结Tomcat容器替

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制