【Docker】部署去中心化聊天室
【Docker】部署去中心化聊天室
時光一、项目介绍
需要搭建 Matrix
服务和 Element
Web端应用
Matrix 是一个开放的通信协议,用于实时通信,包括即时消息、音频和视频通话。
它是去中心化的,这意味着任何人都可以设置自己的 Matrix 服务器,并与其他 Matrix 服务器通信。
Matrix 的目标是为所有不同的通信服务提供一个统一的标准,使得不同的服务可以互相通信。
Element 是基于 Matrix 协议的一个客户端应用。
它允许用户通过 Matrix 协议进行即时消息、音频和视频通话。
Element 有多个版本,包括 Web、桌面和移动应用。
它是 Matrix 生态系统中最流行的客户端之一。
Matrix 官方网站:https://matrix.org/
Matrix GitHub 官方仓库:https://github.com/matrix-org/synapse
Element 官方网站:https://element.io/
Element 自建 GitHub 地址:https://github.com/vector-im/element-web
二、安装步骤
1、绑定域名
需要分别为 Matrix
和 Element
绑定域名,各添加一条A记录
2、添加反向代理
使用 Nginx Proxy Manager
添加反向代理,我分别使用8008和8009端口,注意开放相应防火墙
可以再设置一下SSL
3、部署服务
创建目录
1 | mkdir -p /root/docker_data/matrix |
拉取并运行镜像,注意修改 SYNAPSE_SERVER_NAME
为自己刚才设置的matrix需绑定的域名
1 | sudo docker run -it --rm \ |
修改 homeserver.yaml
文件
1 | cd /root/docker_data/matrix/data |
在最底部添加以下内容,打开注册功能以及跳过注册验证
1 | enable_registration: true |
如图所示
创建 docker-compose.yml
文件
1 | cd /root/docker_data/matrix |
粘贴以下内容,注意将 VIRTUAL_HOST
、LETSENCRYPT_HOST
、SYNAPSE_SERVER_NAME
替换为自己的域名
如端口需调整,注意修改
1 | version: "3.3" |
执行 docker-compose up -d
通过 ip+端口 或者域名即可访问
Matrix服务
Element
若出现以下错误,需用域名访问,并且使用https的方式访问,反向代理时,SSL可勾选 Force SSL
强制https访问
4、注册账号与使用
4.1 注册账号
可以调整语言为简体中文
创建账户 => 编辑 => 使用自己搭建的Matrix服务
设置用户名及密码
这个界面可以跳过
至此账号已经创建完成
点击头像可以查看账户地址
或者在所有设置 => 通用 => 个人资料查看
4.2 日常对话
新创建跟个账户模拟聊天,输入对方账户地址,前往
模拟向对方发送一条消息
对方会收到邀请通知
对方可以接受聊天或者拒绝
回复一条消息
你接收到的消息
4.3 房间及视频通话
可以创建房间,类似群的功能
如果需要视频通话,可以在设置 => 实验室 => 加入beta
加入beta 后就可以创建视频房间了
模拟创建一个视频房间
要求成员加入,被要求人也需加入beta
被邀请人加入beta后可接受要求
开启视频和麦克风权限后就能开启视频通话了
5、更新服务
1 | cd /root/docker_data/matrix |
6、卸载服务
1 | cd /root/docker_data/matrix |
参考文章
https://blog.laoda.de/archives/docker-compose-install-matrix-element/