matrix部署

一、环境描述

首先matrix是一个去中心化的聊天服务,matrix实现了端对端的加密,这意味着不仅其他人无法查看你的聊天内容,哪怕你更换了一个终端,你也需要私钥才能够查看你的聊天记录。
这是终极的隐私保护方案,因为一旦你丢掉了这个密钥,这些内容就相当于被销毁了。
如果你能够访问到matrix的服务器那么就可以直接使用matrix的主聊天服务
自建matrix的意义何在呢
如果你在中国大陆,你是无法访问到matrix的主服务的,需要梯子的辅助
这时候自建一个matrix服务,不仅实现了一个独立的聊天服务,
matrix的服务之间也是联系在一起的,通过自建服务是可以与其他服务器的用户进行通信的,这时候自建的的matrix相当于一个moon服务器。
本次实验使用的是:
1.服务器系统是centos7
2.使用的服务是docker,synapse
3.反向代理使用nginx
4.证书服务使用letsencrypt

二、安装docker

1.设置docker仓库

第一次安装的时候需要设置docker仓库,后面就可以利用该仓库进行安装和升级docker。
需要先安装 yum-utils 包,它可以提供yum-config-manager工具和配置稳定的仓库。

yum install -y yum-utils
yum-config-manager \
 --add-repo \
 https://download.docker.com/linux/centos/docker-ce.repo

2.安装docker引擎

yum install docker-ce docker-ce-cli containerd.io  -y

3.启动Docker

systemctl enable docker
systemctl start docker
docker   --version

三、创建synapse服务

1.创建一个映射路径

mkdir -p /data/appdata

2.Docker拉取matrix镜像,并且运行容器

docker run -it --rm \
  -v /data/appdata/synapse/data:/data \
  -e SYNAPSE_SERVER_NAME=www.baidu.com\
  -e SYNAPSE_REPORT_STATS=yes \
  matrixdotorg/synapse:latest generate

在这里插入图片描述
server name 这里需要指定一个matrix服务器的域名,我使用了一个二级域名,你需要修改成你自己的域名。
还要把这个域名解析到你的服务器ip上,A记录。

执行完毕后就得到了初始的配置文件homeserver.yaml, 文件路径
/data/appdata/synapse/data/homeserver.yaml
在这里插入图片描述

3.建立一个 docker network

为了让桥接用的容器和 synapse 容器能够互相通讯

docker network create matrix

4.启动服务器并连接到 network

docker run -d --name synapse \
  -v /data/appdata/synapse/data:/data \
  -p 8088:8008 \
  --restart unless-stopped \
  --network matrix \
  matrixdotorg/synapse:latest

5.开启防火墙端口

8088端口就是我们需要访问的端口

firewall-cmd --zone=public --add-port=8088/tcp --permanent
firewall-cmd --reload

6.访问测试

理论上来说现在就可以直接通过这个域名(加端口)访问到了。
http://域名:8088
在这里插入图片描述

四、使用nginx做反向代理

在这里插入图片描述

server {
    listen       80;
    listen       443 ssl;
    server_name  www.baidu.com;
    charset      utf-8;
 	error_page   404              /404.html;
    error_page   500 502 503 504  /500.html;

    ##开启强跳
#       if ($server_port = 80 ) {
 #       return 301 https://$host$request_uri;
  #  }
	add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";

#   ssl_certificate keys/baidu/server.crt;
 #  ssl_certificate_key keys/baidu/server.key;

    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  10m;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
        location / {
       
        proxy_pass http://127.0.0.1:8088;
    }
}

现在就可以使用域名访问了
http://域名

但是如果你想使用聊天服务还需要客户端,下载matrix客户端riot

手动生成账号
进入容器生成zhanghao

docker ps  
docker exec -it synapse /bin/bash  
register_new_matrix_user -c /data/homeserver.yaml http://localhost:8008

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深入理解机器学习——过拟合(Overfitting)与欠拟合(Underfitting)

分类目录:《深入理解深度学习》总目录 机器学习的主要挑战是我们的算法必须能够在先前未观测的新输入上表现良好,而不只是在训练集上表现良好。在先前未观测到的输入上表现良好的能力被称为泛化(Generalization)。通常情况下&…

20、单元测试

文章目录 1、JUnit5 的变化2、JUnit5常用注解3、断言(assertions)1、简单断言2、数组断言3、组合断言4、异常断言5、超时断言6、快速失败 4、前置条件(assumptions)5、嵌套测试6、参数化测试7、迁移指南 【尚硅谷】SpringBoot2零基…

医院体检PEIS系统源码

一、医院体检系统概述 1. 医院体检系统概述 目前,大多数的体检还停留在手工操作上,如单位体检时手工书写体检人员信息、医生手工书写体检结果、检验报告打印后进行手工粘贴等,这样造成极大的工作量,效率低下,而且极易…

OpenCV 安卓编程示例:1~6 全

原文:OpenCV Android Programming By Example 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 计算机视觉 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 当别人说你没有底线的时候,…

npm和yarn的相同点和不同点

官网 npmhttps://www.npmjs.com Home | Yarn - Package ManagerFast, reliable, and secure dependency management.https://yarnpkg.com Fast, disk space efficient package manager | pnpmFast, disk space efficient package managerhttps://pnpm.io 使用场景 npm&#x…

发布会前准备新闻通稿的重要性,为什么媒体不会原稿发布报道?

传媒如春雨,润物细无声,大家好,我是51媒体 胡老师。 最近有宣传的小伙伴问胡老师,为什么我们精心准备的新闻通稿,媒体没有按照稿子发布呢?今天就与大家交流下这方面的经验。 一,发布会前准备新…

4月20日第壹简报,星期四,农历三月初一,谷雨

4月20日第壹简报,星期四,农历三月初一,谷雨坚持阅读,静待花开1. 已致29人死亡,26人为患者!北京长峰医院火灾事故因院内施工作业火花引发,院长王某玲等12人被刑拘。2. 海南发布旅游产品参考价格&…

教你轻松申请Azure OpenAI

Azure OpenAI 和 OpenAI 官方提供的服务基本是一致的,但是目前前者还是处于预览版的状态,一些功能还没有完全开放。 优点: 不受地域限制,国内可以直接调用。可以自己上传训练数据进行训练(据说很贵)。Azu…

低代码开发重要工具:jvs-logic(逻辑引擎)可视化设计要素

逻辑引擎可视化的交互 可视化的服务编排是逻辑引擎的核心功能,逻辑引擎的界面可视化设计是为了方便用户使用和操作逻辑引擎而设计的。一个好的界面设计能够提高用户的工作效率和使用体验,同时也能增加软件的可靠性和可维护性。 以下是逻辑引擎界面可视化…

【Linux初阶】进程的相关概念 | 进程管理 查看进程 获取进程标识符 fork进程创建

🌟hello,各位读者大大们你们好呀🌟 🍭🍭系列专栏:【Linux初阶】 ✒️✒️本篇内容:进程的概念,进程管理初识(描述、管理进程),查看进程的基础方法…

K_A33_001 基于STM32等单片机驱动RC522射频卡 读写IC卡 串口显示

K_A33_001 基于STM32等单片机驱动RC522射频卡 读写IC卡 串口显示 所有资源导航一、资源说明二、基本参数参数引脚说明 三、驱动说明时序:对应程序: 四、部分代码说明1、接线引脚定义1.1、STC89C52RCRC522射频模块1.2、STM32F103C8T6RC522射频模块 五、基础知识学习与相关资料下…

使用chatgpt实现微信聊天小程序(秒回复),github开源(附带链接)

文章目录 前言效果展示原理说明服务器端代码说明微信小程序代码说明代码链接总结 前言 我在前一段时间突发奇想,就使用java来调用chatgpt的接口,然后写了一个简单小程序,也上了热榜第一,java调用chatgpt接口,实现专属…

nodejs+vue 智能餐厅菜品厨位分配管理系统

系统功能主要介绍以下几点: 本智能餐厅管理系统主要包括三大功能模块,即用户功能模块和管理员功能模块、厨房功能模块。 (1)管理员模块:系统中的核心用户是管理员,管理员登录后,通过管理员功能来…

基于matlab使用 CSI-RS 的 NR 下行链路发射端波束细化

一、前言 此示例演示了使用 5G 工具箱中的信道状态信息参考信号 (CSI-RS) 的下行链路发射端波束细化过程。该示例展示了如何在散射环境中向不同方向传输多个CSI-RS资源,以及如何根据参考信号接收功率(RSRP)测量结果选择…

编写高质量代码:改善Java程序的151个建议(数组和集合)

集合中的元素必须做到compareTo和equals同步 实现了Comparable接口的元素就可以排序,compareTo方法是Comparable接口要求必须实现的,它与equals方法有关系吗?有关系,在compareTo的返回为0时,它表示的是 进行比较的两个元素时相等…

某医院网络安全分析案例

背景 我们已将NetInside流量分析系统部署到某市医院的机房内,使用流量分析系统提供实时和历史原始流量。本次分析重点针对网络流量安全进行分析,以供安全取证、网络质量监测以及深层网络分析。 分析时间 报告分析时间范围为:2023-04-12 16…

Cloud Kernel SIG月度动态:发布 Anolis 8.8 镜像、kABI 社区共建流程

Cloud Kernel SIG(Special Interest Group):支撑龙蜥内核版本的研发、发布和服务,提供生产可用的高性价比内核产品。 01 SIG 整体进展 Anolis 8.8 镜像发布,默认搭载 ANCK 5.10-013 版本。 Anolis 23 滚动内核更新至…

ai智能文章生成器-ai论文写作

在数字时代,营销推广策略已经向数字化方向发展。今天我们要介绍的是一款名为“智能ai写作免费”的软件,它可以让营销人员轻松地创作新的内容,并且其中不需要过多的技术知识或文学背景。这款软件可以为许多企业和机构带来创造性的帮助。 智能A…

@Async异步线程:Spring 自带的异步解决方案

前言 在项目应用中,使用MQ异步调用来实现系统性能优化,完成服务间数据同步是常用的技术手段。如果是在同一台服务器内部,不涉及到分布式系统,单纯的想实现部分业务的异步执行,这里介绍一个更简单的异步方法调用。 对于…

电脑端(PC)按键精灵——5.找色/找图命令

电脑端(PC)按键精灵——5.找色/找图命令 注:说了键盘、鼠标、其他、控制命令还有安装内容,现在说下颜色/图形命令,这一节相当重要 按键精灵小白入门详细教程: 电脑端(PC)按键精灵—小白入门 详细教程 命令介绍 1.GetPixelCol…