Vocechat本地部署结合内网穿透实现远程聊天交互实战方案(1)

news2024/11/15 13:43:17

文章目录

    • 前言
    • 1. 拉取Vocechat
    • 2. 运行Vocechat
    • 3. 本地局域网访问
    • 4. 群晖安装Cpolar
    • 5. 配置公网地址
    • 6. 公网访问
        • 小结
    • 7. 固定公网地址

前言

本文主要介绍如何在本地群晖NAS搭建一个自己的聊天服务Vocechat,并结合内网穿透工具实现使用任意浏览器远程访问进行智能聊天交互。

Vocechat是一套支持独立部署的个人云社交媒体聊天服务。它从Slack、Discord、RocketChat、Solid、Matrix等产品和规范中博采众长,适用于团队内部交流、个人聊天服务、网站客服、网站内嵌社区等场景。Vocechat 的定位是能轻易部署在私有云上的社交协作程序。

既然是本地服务,那么局限性在于只能本地访问,无法分享给别人访问,那么如何实现即可自己访问使用,也可以和别人一起使用呢,下面要介绍一个工具软件可以解决这个局限性问题,它就是Cpolar内网穿透工具。

下面我开始搭建本地 Vocechat 服务并实现公网环境远程访问,操作流程非常方便快捷,无需公网IP,也不用设置路由器那么麻烦。

1. 拉取Vocechat

本例群晖版本由于无法直接在群晖控制面板docker界面搜索下载docker镜像,所以采用命令行方式进行镜像下载,首先开启群晖ssh连接,然后使用工具通过ssh连接上群晖,然后执行下面命令拉取镜像,执行后等待拉取完成。

sudo docker pull privoce/Vocechat-server:latest

image-20240307154509676

完成后,在群晖Container Manager界面—映像列表可以看到我们拉取的Vocechat 容器,表示拉取成功,下面进行运行Vocechat.

image-20240307141554759

2. 运行Vocechat

选择vocecaht ,点击运行,进入参数设置界面

image-20240307141746635

名称默认即可,如果需要开机重启,可以勾选自动启动,然后点击下一步

image-20240307141929583

然后设置一个外部访问的端口,这里设置3003,具体可以自己设置,设置后直接点击下一步即可,然后直接点击完成

image-20240307142121512

然后点击容器打开,可以看到运行的Vocechat容器,表示成功了,下面进行本地访问

image-20240307142324693

3. 本地局域网访问

外部通过群晖局域网IP加3003端口,即上面我们自己设置的端口,即可看到Vocechat界面,本地访问成功了

image-20240307142456321

根据要求完成设置,即可进入到主界面,下面安装cpolar 工具,通过cpolar 可以很好的实现远程分享给别人使用!

image-20240307142619152

4. 群晖安装Cpolar

点击下面Cpolar群晖套件下载地址,下载相应版本的群晖Cpolar套件

https://www.cpolar.com/synology-cpolar-suite,

20221222170135

打开群晖套件中心,点击右上角的手动安装按钮。

image-20240111165335915

选择我们本地下载好的cpolar套件安装包,然后点击下一步

image-20240111165603922

点击同意按钮,然后点击下一步

image-20240111165702028

最后点击完成即可。

image-20240111165721365

安装完成后,在外部浏览器,我们通过群晖的局域网ip地址9200端口访问Cpolar的Web管理界面,然后输入Cpolar邮箱账号与密码进行登录,官网地址:https://www.cpolar.com

image-20230612165349594

5. 配置公网地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个Vocechat的公网地址隧道!

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:3003 (本地访问的端口)
  • 域名类型:免费选择随机域名
  • 地区:选择China

点击创建

image-20240307152316770

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https,两种方式都可以访问

image-20240307152340053

6. 公网访问

使用上面cpolar生成的http地址,在浏览器输入访问,即可同样看到Vocechat主界面,输入账号即可登录,其他人没有账号可以注册然后登录,这样大家都在自己的聊天工具下聊天,无需公网IP,无需云服务器,即可把我们本地聊天工具发布到公网进行访问!

image-20240307152453809

小结

为了更好地演示,我们在前述过程中使用了cpolar生成的隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不太容易记忆(例如:3ad5da5.r10.cpolar.top)。另外,这个地址在24小时内会发生随机变化,更适合于临时使用。

我一般会使用固定二级子域名,原因是我希望将网址发送给同事或客户时,它是一个固定、易记的公网地址(例如:Vocechat.cpolar.cn),这样更显正式,便于流交协作。

7. 固定公网地址

由于以上使用Cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

image-20240307153607478

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

image-20240307153628246

返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20240307153753879

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

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

image-20240307153819100

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名的名称域名

image-20240307154134452

最后,我们使用固定的公网http地址访问,可以看到同样访问成功,这样一个固定且永久不变的公网地址就设置好了!

image-20240307154206713

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2085193.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蚂蚁数科隐私计算技术平台FAIR入选2024数博会十大领先科技成果

8月28日,2024数博会领先科技成果发布会在贵阳国际生态会议中心举行,蚂蚁数科自主研发的隐私计算技术平台(FAIR)凭借领先的技术及广泛的应用场景脱颖而出,成功入选本届大会的“十大领先科技成果”奖。 据悉,…

HDMI、USB、WIFI的名称魔性更改

HDMI 授权组织把原来 HDMI 2.0 和 2.1 接口统称为 HDMI 2.1 的做法,等于是让电子设备上的 HDMI 2.1 标示丧失了区分作用,这操作就很离谱。 说起来类似这样的事情已经其实不是第一次发生了。 就拿现在最普及的 USB 接口来说,在 USB 3.2 标准…

音频检测电路 | 声音传感器模块 | 口哨开关 | Arduino

音频检测电路 | 声音传感器模块 | 口哨开关 | Arduino 案例分析电路设计1. **基本音频检测电路设计**电路结构:2. **灵敏度调节原理**方法:3. **非 MCU 控制的 LED 触发**设计步骤:4. **电路示例**5. **示意图(文本描述)**总结实验方法案例分析 一个硅胶娃娃,挤压或拍打…

(第三十八天)

1 、 harbor 软件包下载 https://github.com/search?qharbor&typerepositories 2 、出现拒绝连接错误,可能是由于容器没开 # 问题解决: [rootdocker ~] # curl localhost:5000/v2/_catalog curl : (7) Failed connect to localhost:5000; 拒绝…

零基础国产GD32单片机编程入门(一)GPIO输出Keil5工程创建含源码

文章目录 一.概要二.GD32单片机GPIO内部结构图三.GD32单片机GPIO输入输出信号流向四.GD32单片机GPIO引脚的复用以及重映射五.从零开始创建一个GD32F103C8T6单片机GPIO输出驱动LED灯例程六.工程源代码下载七.小结 一.概要 GPIO(general porpose intput output):单片机通用输入输…

如何禁止电脑访问网站

一、修改Hosts文件 找到Hosts文件:在Windows系统中,Hosts文件通常位于C:\Windows\System32\drivers\etc\目录下。 编辑Hosts文件:以管理员身份打开记事本或任意文本编辑器,然后找到并打开Hosts文件。 添加禁止访问的域名&#…

【小趴菜前端实习日记4】

el-table数据更新视图不更新的问题、el-dialog居中展示、el-form表单验证之对象属性验证、vue2过滤器 一、el-table数据更新视图不更新的问题二、el-dialog居中展示三、el-form表单验证之对象属性验证四、vue2过滤器 一、el-table数据更新视图不更新的问题 手动触发元素更新&a…

【C#】字段

C# 类具有哪些成员? 字段 1.什么是字段 字段(field)是一种表示与对象或类型(类与结构体)关联的变量字段是类型的成员,旧称“成员变量”与对象关联的字段亦称“实例字段”与类型关联的字段称为“静态字段”,由static修饰 通过一个代码来详细了解实例字段与静态字段…

简过网:大专学历可以考教师编吗?

大专学历可以考教师编吗? 在这里可以明确的告诉大家,大专考生可以报考小学老师,只要你有教师资格证,年龄在18~35周岁之间,大专的学历就可以报考小学教师编啦。 如果没有教师资格证,在备考教师编前&#x…

python从入门到精通:数据可视化-图形开发

1、json数据格式 • Json是一种轻量级的数据交互格式,可以按照Json指定的格式去组织和封装数据 • Json本质上是一种带有特殊格式的字符串 主要功能:json就是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互&#xf…

惠海H6900B升压恒流调光IC芯片3.7V7.4V12V升压18V24V36V 48V 植物灯/电解水

H6900B升压型LED恒流驱动芯片是一款功升压恒流芯片,专为满足高亮度LED灯串的恒流驱动需求而设计。它结合合了多种功能电路,包括误差放大器、固定关断时间控制电路以及恒流驱动电路等,很好改良了LED灯的稳定。 一、产品特征 1.内置耐压60V功…

万字干货!手把手教你如何训练超大规模集群下的大语言模型

分布式训练的主要难点 简单介绍一下混合并行中经典的三种并行方案。首先是数据并行,简称 DP。正如其名,数据并行是将数据分割到不同的计算设备上,然后由这些设备完成各自的计算任务。第二种是张量并行,简称 TP。张量并行是将模型中…

Swift concurrency 5 — async let的理解与使用

在前面的文章中,我们介绍过async/await这两个关键字,也了解了异步方法,在一个Task中,多个加了await的异步方法是顺序执行的,一个接着一个,这个在有些情况下是很好的,比如用户登录,获…

element-ui 表单Cannot read property ‘indexOf‘ of undefined

在使用resetField 报错Cannot read property ‘indexOf’ of undefined 复现说明 报错展示 解决方案 用clearValidate()替换resetFields()

Mysql基础练习题 183.找出所有从不点任何东西的顾客 (力扣)

183.找出所有从不点任何东西的顾客 建表插入数据: #插入数据,顾客表和订单表 Create table If Not Exists Customers (id int, name varchar(255)) Create table If Not Exists Orders (id int, customerId int) Truncate table Customers insert into…

Java面试宝典-java基础09

Java面试宝典-java基础09 81、String,Stringbuffer,StringBuilder 的区别82、Comparator 与 Comparable 有什么区别83、说说反射用途及实现原理,Java 获取反射三种方法84、&和&&的区别85、Java 创建对象有几种方式86、如何将 GB2312 编码字符串转换为 ISO-8859-…

一起学Java(11)-[日志篇]教你分析SLF4J源码,掌握Logger接口实现类加载原理

最近各种事情很忙,今天继续。在第十篇(一起学Java(10)-为项目引入Log框架(Log篇二-引入SLF4J接口层框架))中,我们为项目(https://github.com/lihongzheshuai/java-all-in-one)引入了SLF4J和Logback框架,按计划通过阅读源码研究下SLF4J的实现原…

如何在忘记密码或 ID 的情况下解锁 iPhone 15

您是否曾经因为忘记了 iPhone 密码而陷入困境,或者您是否多次错误地输入了屏幕时间密码并发现自己被锁定在 iPhone 之外? 被锁定和拒绝访问您的 iPhone 可能很常见,尤其是在您尚未配置 Face ID 的情况下。或者,如果 Face ID 无法正…

【机器学习】广义线性模型和一般线性模型的联系和区别以及如何选择合适的链接函数

引言 广义线性模型(Generalized Linear Models,简称GLM)和一般线性模型(通常指的是线性回归模型)都是统计建模中常用的工具,但它们在假设、适用范围和模型结构上有所不同 文章目录 引言一、广义线性模型和一…

黑马程序员Python机器学习|1机器学习概述

一 人工智能概述 1.机器学习和人工智能,深度学习的关系 2.机器学习可以做什么 翻译,智能客服。 二 什么是机器学习 1.机器学习的定义 从数据中学习,学习后得出的结论是模型(规律),通过这个规律去解决问题&a…