如何在群晖用Docker本地搭建Vocechat聊天服务并无公网ip远程交流协作

本文主要是介绍如何在群晖用Docker本地搭建Vocechat聊天服务并无公网ip远程交流协作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

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

如何拥有自己的一个聊天软件服务? 本例介绍一个自己本地即可搭建的聊天工具,不仅轻量,占用小,且功能也停强大,它就是Vocechat.

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

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

Cpolar是一款强大的内网穿透软件,它能够在多个操作系统上无缝运行,包括Windows、MacOS和Linux,因此无论您使用哪种操作系统,都可以轻松将本地内网服务器的HTTP、HTTPS、TCP协议端口映射为公网地址端口,使得公网用户可以轻松访问您的内网服务,无需部署至公网服务器.

下面我开始搭建本地Vocechat 服务并实现公网访问,本例采用群晖Docker才部署vocechat,方便快捷.

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端口,即上面我们自己设置的端口,即可看到Vocecaht界面,本地访问成功了

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邮箱账号与密码进行登录

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

这篇关于如何在群晖用Docker本地搭建Vocechat聊天服务并无公网ip远程交流协作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

Python中使用正则表达式精准匹配IP地址的案例

《Python中使用正则表达式精准匹配IP地址的案例》Python的正则表达式(re模块)是完成这个任务的利器,但你知道怎么写才能准确匹配各种合法的IP地址吗,今天我们就来详细探讨这个问题,感兴趣的朋... 目录为什么需要IP正则表达式?IP地址的基本结构基础正则表达式写法精确匹配0-255的数字验证IP地

Android实现打开本地pdf文件的两种方式

《Android实现打开本地pdf文件的两种方式》在现代应用中,PDF格式因其跨平台、稳定性好、展示内容一致等特点,在Android平台上,如何高效地打开本地PDF文件,不仅关系到用户体验,也直接影响... 目录一、项目概述二、相关知识2.1 PDF文件基本概述2.2 android 文件访问与存储权限2.

Spring LDAP目录服务的使用示例

《SpringLDAP目录服务的使用示例》本文主要介绍了SpringLDAP目录服务的使用示例... 目录引言一、Spring LDAP基础二、LdapTemplate详解三、LDAP对象映射四、基本LDAP操作4.1 查询操作4.2 添加操作4.3 修改操作4.4 删除操作五、认证与授权六、高级特性与最佳

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

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.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.