聊天无隐私?三分钟使用docker搭建自己的端到端加密聊天室,美观的UI,极致的安全,【三分钟docker项目】

项目介绍

Matrix 和 Element 分别是什么?

Matrix:

  • Matrix 是一个开放的通信协议,用于实时通信,包括即时消息、音频和视频通话。
  • 它是去中心化的,这意味着任何人都可以设置自己的 Matrix 服务器,并与其他 Matrix 服务器通信。
  • Matrix 的目标是为所有不同的通信服务提供一个统一的标准,使得不同的服务可以互相通信。

Element:

  • Element 是基于 Matrix 协议的一个客户端应用。
  • 它允许用户通过 Matrix 协议进行即时消息、音频和视频通话。
  • Element 有多个版本,包括 Web、桌面和移动应用。
  • 它是 Matrix 生态系统中最流行的客户端之一。

简而言之,Matrix 是一个通信协议,而 Element 是基于这个协议的一个客户端应用。你可以将 Matrix 看作是一个电话网络(比如移动),而 Element 则是使用这个网络的手机(比如华为)。

进入服务器控制面板

然后在荧光标记处点击复制SSH连接密码,通过SSH工具连接服务器

通过SSH连接到服务器并检查docker和docker-compose是否正常安装

开始安装

1.创建安装matrix的安装目录

BASH 复制代码
sudo -i

mkdir -p /root/data/docker_data/matrix #根据自己的实际情况设定目录,没啥影响

cd /root/data/docker_data/matrix

2.运行容器

bash 复制代码
sudo docker run -it --rm \
-v /root/data/docker_data/matrix/data:/data \
-e SYNAPSE_SERVER_NAME=chat.abeginner.cn \
-e SYNAPSE_REPORT_STATS=yes \
matrixdotorg/synapse:latest generate

3.修改配置文件

bash 复制代码
cd /root/data/docker_data/matrix/data #注意与之前的目录一致

vim homeserver.yaml

更改以下内容

yml 复制代码
# Configuration file for Synapse.
#
# This is a YAML file: see [1] for a quick introduction. Note in particular
# that *indentation is important*: all the elements of a list or dictionary
# should have the same indentation.
#
# [1] https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html
#
# For more information on how to configure Synapse, including a complete accounting of
# each option, go to docs/usage/configuration/config_documentation.md or
# https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html
server_name: "chat.abeginner.cn"
pid_file: /data/homeserver.pid
listeners:
  - port: 8008
    tls: false
    type: http
    x_forwarded: true
    resources:
      - names: [client, federation]
        compress: false
database:
  name: sqlite3
  args:
    database: /data/homeserver.db
log_config: "/data/chat.abeginner.cn.log.config"
media_store_path: /data/media_store
registration_shared_secret: "wwaftxJ&3W3Xkx1y4gYoeoY0p6ywmkx96JZB7rCYg2+_bd~M,t"
report_stats: true
macaroon_secret_key: "+i6*ZU+ZgxnIjX98@F3F#Oxw*Un*40=58ESt=+HW=SVA@N6ITy"
form_secret: "xMGG5P~DD-7Brm19jaYR9v0d.wG:abNxN9ikdWcgNE7Z3F;NmB"
signing_key_path: "/data/chat.abeginner.cn.signing.key"
trusted_key_servers:
  - server_name: "matrix.org"

enable_registration: true
enable_registration_without_verification: true

# vim:ft=yaml

切换成英文输入法,修改好之后,按一下 esc,然后 :wq 保存退出。

BASH 复制代码
cd /root/data/docker_data/matrix
vim docker-compose.yml

英文输入法下,按 i

yaml 复制代码
version: "3.3"

services:
  synapse:
    image: "matrixdotorg/synapse:latest"
    container_name: "matrix_synapse"
    restart: unless-stopped
    ports:
      - 8008:8008
    volumes:
      - "./data:/data" # it will look at the current directory where you save the file and look for the data folder inside
    environment:
      VIRTUAL_HOST: "chat.abeginner.cn"
      VIRTUAL_PORT: 8008
      LETSENCRYPT_HOST: "chat.abeginner.cn"
      SYNAPSE_SERVER_NAME: "chat.abeginner.cn"
      SYNAPSE_REPORT_STATS: "yes"
  element-web:
    ports:
      - '8009:80'
    #volumes:
    #    - '/etc/element-web/config.json:/app/config.json'
    image: vectorim/element-web
    restart: unless-stopped

切换成英文输入法,修改好之后,按一下 esc,然后 :wq 保存退出。

然后运行

bash 复制代码
docker-compose up -d

然后设置以下反向代理一个8009,一个8008记得使用两个不同的二级域名而且要有ssl证书哦 完成后通过反向代理8009端口的域名访问界面

关注我,持续更新更多好玩,有趣的docker项目!

相关推荐
cike_y2 分钟前
JSP内置对象及作用域&双亲委派机制
java·前端·网络安全·jsp·安全开发
巴拉巴拉~~27 分钟前
KMP 算法通用进度条组件:KmpProgressWidget 多维度 + 匹配进度联动 + 平滑动画
java·服务器·前端
UVM_ERROR1 小时前
RDMA Scheduler + TX + Completion RTL 开发经验分享
笔记·vscode·ssh·github·芯片
Salt_07281 小时前
DAY 36 官方文档的阅读
python·算法·机器学习·github
子洋1 小时前
AI Agent 介绍
前端·人工智能·后端
徐同保1 小时前
使用n8n自动发邮件
前端
dly_blog2 小时前
setup 函数完整指南!
前端·javascript·vue.js
霍理迪2 小时前
基础CSS语法
前端·css
粟悟饭&龟波功2 小时前
【GitHub热门项目精选】(2025-12-19)
前端·人工智能·后端·github
流浪法师122 小时前
MyPhishing-Web:AI 驱动的钓鱼邮件检测可视化平台
前端·人工智能