百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

支持语音和视频通话,Docker部署在线聊天室『Matrix&Element』

cac55 2025-04-27 12:40 15 浏览 0 评论

支持语音和视频通话,Docker部署端到端加密的在线聊天室『Matrix&Element』

哈喽小伙伴们好,我是Stark-C~

在这个所谓的大数据时代,我们在互联网的一言一行可以说都无时无刻受到监控,如何最大限度的保护个人隐私,可以说是当前网络时代我们每个人的必备技能之一。

隐私第一步,先教大家怎么创建一个自己私有的在线聊天室吧~

简介

关于Matrix:

Matrix 是一个开放的通信协议,用于实时通信,包括即时消息、音频和视频通话。

它是去中心化的,这意味着任何人都可以设置自己的 Matrix 服务器,并与其他 Matrix 服务器通信。

Matrix 的目标是为所有不同的通信服务提供一个统一的标准,使得不同的服务可以互相通信。

关于Element:

Element 是基于 Matrix 协议的一个客户端应用。

它允许用户通过 Matrix 协议进行即时消息、音频和视频通话

Element 有多个版本,包括 Web、桌面和移动应用。

它是 Matrix 生态系统中最流行的客户端之一。

简单理解,Matrix 是一个通信协议,而 Element 是基于这个协议的一个客户端应用,我们的最终目标就是使用 Element 通过端到端加密的 Matrix 协议,来搭建一个去中心化的加密个人与团队通讯服务。

与常见的QQ微信,Matrix的特点就是开源,可私有化部署,从而保证通信的安全和隐私。与Rocket.chat、MatterMost相比,Matrix的特点还要再加上去中心化,每个运行Matrix的服务器都是一个节点,用户可以选择在任意节点注册、连接,同一个节点内的用户可以任意通信。同时,节点与节点之间也可以通过联锁(Federation)机制进行通信,实现不同节点的用户之间进行通信,这其实就是文中标题说的“端到端加密”。

部署

部署之前有一个必备条件,那就是你必须有一个自己的域名(可以不用备案),并且已经做好了动态域名解析(DDNS)。一般玩NAS的这个应该都已经设置好了对吧?

如果你还没有做到这个条件,强烈建议你先部署Lucky:

https://post.smzdm.com/p/a3x63wrr/

然后打开NAS的文件管理器,在 docker 目录中(威联通默认为Container文件夹),创建一个新文件夹【matrix】,然后在 matrix文件夹中再分别新建一个子文件夹【data】 用于数据文件的持久化存储。

接着使用SSH终端工具连接到NAS之后先启用root模式(“ sudo -i ”),之后输入以下Docker run多行命令(请注意,张大妈编辑器会删掉每行命令后面的反斜杠)并回车即可:

sudo docker run -it --rm \

-v /share/Container/matrix/data:/data \

-e SYNAPSE_SERVER_NAME=你的域名 \

-e SYNAPSE_REPORT_STATS=yes \

matrixdotorg/synapse:latest generate

命令唯一需要修改的就是“-v
/share/Container/matrix/data:/data”中的路径映射是matrix文件夹内的data子文件夹。

等到命令部署完成之后,回到NAS的文件管理器,在之前创建的matrix文件夹内的data子文件夹中,可以看到一个“homeserver.yaml”文件,这个文件其实就是matrix默认生成的配置文件。将这个配置文件下载到电脑本地。

matrix默认的配置文件并没有开启注册功能,需要我们手动开启。我们通过代码编辑器(比如Visual Studio Code、Sublime Text 或 Atom)打开配置文件,然后在配置文件最后面加入以下代码并保存:

enable_registration: true
enable_registration_without_verification: true

完成后将修改后的“homeserver.yaml”配置文件替换掉NAS文件夹中原有的配置文件即可。

最后通过docker-compose 一键部署。这里以威联通NAS为例,打开“应用程序”输入以下docker-compose 代码:

version: "3.3"
services:
 synapse:
  image: "matrixdotorg/synapse:latest"
  container_name: "matrix_synapse"
  restart: unless-stopped
  ports:
   - 8008:8008    # 本地端口别冲突
  volumes:
   - "/share/Container/matrix/data:/data"    # 映射matrix文件夹下的data子文件夹
  environment:
   VIRTUAL_HOST: "x.com"    # 你的域名
   VIRTUAL_PORT: 8008
   LETSENCRYPT_HOST: "x.com"    # 你的域名
   SYNAPSE_SERVER_NAME: "x.com"    # 你的域名
   SYNAPSE_REPORT_STATS: "yes"
 element-web:
  ports:
   - '8098:80'    # 本地端口别冲突
  image: vectorim/element-web
  restart: unless-stopped

以上代码需要根据注释自行修改。

如果你习惯SSH部署,可以将修改好的docker-compose.yml文件放到NAS任意文件夹内,然后运行以下命令:

#进入文件夹
cd 文件夹实际路径
#启动容器
docker-compose up -d

如果不出问题,可以看到应用程序中包含了上图两个Docker容器正在运行。

体验

首先咱们先确认下Matrix服务有没有问题,浏览器输入【 NAS的局域网IP:端口号(默认8008)】,如果出现上图所示提示就说明Matrix服务没问题,且在运行中。

然后就可以登录Element聊天室了。不过想要外网使用,首先咱们需要将Element网页端(也就是我们部署时候的element-web容器)对应的端口做好反向代理,这里依然给大家安利的是Lucky,绝对是NAS必装神器之一。

接着直接使用我们的反向代理链接打开。首次打开会有一个浏览器不兼容的提醒,我们不用理会,直接点图中所示位置然后刷新一下页面即可。

Element默认是英文界面,不过它有原生简体中文支持。更改好语言之后我们就可以“创建账户”了。

创建账户很简单,仅需用户名、密码以及邮箱即可。需要说明的是邮箱需要时自己的真实邮箱,因为稍后会需要验证。

这里点“接受”条款。

然后就提示让我们去邮箱那边验证了,验证其实就是点一下它发过来的一个链接就可以了。

然后就会正式来到聊天页面。

界面还是很简单清爽的,上手也很容易,每步都有详细的向导说明。

可以通过发送邀请链接来邀请他人加入聊天室。

我这里随意加了一个小伙伴,可以看到它显示的就是“发送加密消息”,并且还支持贴纸、语音消息、投票,以及位置信息。

聊天界面右上角还支持发起语音与视频。

同时,Element还有手机端APP,IOS以及安卓都支持。

它的设置可选项也比较丰富。

最后

该项目后期可设置的项目很多,我这里也不再一一展示了,只要我们部署起来,怎么折腾就在于你自己了。

好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,咱们下期再见!谢谢大家~

相关推荐

终于,你可以在 iPhone 上玩《饥荒》了

继七月登陆iPad平台后,冒险生存游戏《饥荒》(Don'tStarve)经过两个月时间终于更新并适配了iPhone,此前我已就游戏在iPad上的表现写过详尽评测和上手攻略,故本文不再对游...

2025年最适合Macbook新手掌握的5个免费工具,效率立马飙升!

刚入手Macbook是否觉得操作不熟?担心新手期过长难以熟练提高效率?别担心!本文精选五款国区AppStore免费可下载的官方认证工具,所有选择均基于新手核心痛点与迁移成本考量,解决「系统维护」「操作...

苹果iOS 13.4和iPadOS 13.4正式更新,支持鼠标、键盘操作

智东西(公众号:zhidxcom)编|王颖智东西3月25日消息,苹果今天向用户推送了iOS13.4和iPadOS13.4系统更新通知。iPadOS13.4增加了对iPad鼠标和触控板的支持,...

苹果即将发布macOS 15 用户界面将迎来重大革新

苹果公司计划于6月举行的全球开发者大会(WWDC)上,震撼发布全新的macOS15操作系统。据CNMO最新报道,此次更新将彻底革新“菜单和应用程序用户界面”的排列方式,为用户带来全新的使用体验。ma...

**Bartender 5:菜单栏管理神器**(菜单栏工具)

提供免费下载网站Mavom.cn**Bartender**让你可以隐藏、重新排列或移动菜单栏应用,保持桌面整洁。**主要功能:*****整理菜单栏应用**:随心所欲地隐藏或显示应用。***更新提醒...

Mac用户必备!12款最实用的高效App,绝对值得收藏

作为一名数码博主,日常的工作不仅包括写文章,还涉及到大量的内容创作、视频编辑和资料管理。随着使用Mac的时间越来越长,我发现一台强大的Mac电脑,若没有合适的App加持,效果往往大打折扣。因此,我深入...

苹果电脑死机了按什么键(mac卡死按哪三个键)

苹果电脑以其卓越的性能和稳定的系统而闻名,但在使用过程中,偶尔也会遇到死机或应用程序无响应的情况。这时,掌握一些有效的强制重启或关闭方法就显得尤为重要。本文将详细介绍苹果电脑在死机时可以采取的几种处理...

怎么查看macbook硬盘是不是原装的

要查看MacBook的硬盘是否是原装的,可以采取以下几种方法:###通过系统信息检查1.**查看设备信息**:打开苹果菜单栏中的“关于本机”选项,然后选择“存储”或“磁盘工具”。这将显示你电脑上已...

苹果MacBook一定要进行的6个设置|新手必备省电技巧

一、MacBook省电设置技巧1、电池偏好设置打开“系统偏好设置”,选择“电池”,选择第二项“电池”,不同的系统版本和机型在这个界面会有所差别。勾选“使用电池电源时使显示屏略暗一些”,勾选“优化电池充...

在 Mac 菜单栏也能控制 HomeKit 家居设备

想要控制家里的HomeKit设备,我们可以利用Apple官方的家庭App。但在Mac上,家庭App不能算得上好用,不像iOS可以从控制中心直接操作,在Mac上必须打开家庭A...

苹果手机里这个图标是什么意思?原来这是个监听器!一直都不知道

不知道大家最近都有没有关注iPhone的新消息呢?iPhone11出来之后,不少小伙伴都被圈粉啦!小编不得不说绿色的那款是真好看啊!当然不仅是好看,用过苹果手机的小伙伴都知道,苹果手机里有很多超好用的...

如何解决苹果电脑弹出本地项目钥匙串提示?

Mac电脑使用的时候,因为通过iCloud同步钥匙串,或者是修改本地账户密码,会反复弹出某项目想要登录使用“钥匙串”的提示,且无法关闭的现象。那我们该如何解决呢?快和小编一起来看看吧!具体方法如下1....

MAC小技巧:如何快速调整Dock栏的大小

苹果mac系统dock栏怎么缩小?想要自己调节一下dock栏的大小,该怎么调节呢?下面我们就来看看详细的苹果Mac电脑如何快速调整Dock栏的大小样式教程,需要的朋友可以参考下。1、在Dock栏右侧,...

新买了苹果电脑不会用?给小白的使用手册,MacOS入门必备

咱们很多小伙伴都是十几年甚至二十几年的Windows老用户了,如果换成苹果电脑,可能会一脸懵逼,一时间不知道怎么使用。毕竟苹果电脑搭载的是MacOS操作系统,除了系统界面和操作上有区别外,电脑键盘上有...

苹果macOS 15设置界面将迎来重大更新 更智能更美观

【CNMO科技消息】苹果计划在6月WWDC全球开发者大会上震撼发布macOS15。据CNMO了解,此次更新将彻底革新“菜单和应用程序用户界面”的排列方式。macOSVentura系统中的“系统设置...

取消回复欢迎 发表评论: