AI (1) mastodon (2) matrix (1) 加密 (3) 境内卡 (1) 境内游 (13) 境外卡 (14) 境外游 (6) 工作 (3) 工作小结 (1) 旅行 (21) 无人机 (1) 服务器 (9) 生活 (10) 美股 (1)

Matrix Synapse部署,搭建一个去中心化聊天服务器

最近撸了一个ruoo.de的便宜米,一年续费也才不到2欧,正好最近有一两个站想加入“联系站长”的功能,但是又觉得邮件和电报的方式不太理想,就联想到了matrix,就正好利用这个域名来搭一个自用。

Synapse 就是Matrix的服务端,我采用的方式,目前暂时是服务端和客户端分离的方式,因为服务端嘛,还是放在硬盘比较硕大,又是SSD的服务器比较好。

首先,需要在服务端服务器上安装docker。(这里就不啰嗦了)

然后,建立一个工作目录。

cd /
mkdir -p /var/matrix-synapse-data/

我们需要先运行一下,生成一个初始的配置文件

docker run -it --rm -v /var/matrix-synapse-data/:/data/ -e SYNAPSE_SERVER_NAME=ruoo.de -e SYNAPSE_REPORT_STATS=no matrixdotorg/synapse:latest generate
docker run -d --name synapse -v /var/matrix-synapse-data/:/data/ -p 8008:8008 -p 8009:8009 -p 8448:8448 matrixdotorg/synapse:latest

现在,我们创建一个管理员用户,方便后面管理。

docker exec -it synapse register_new_matrix_user http://localhost:8008 -c /data/homeserver.yaml -a -u 你想要的用户名 -p 你想要的密码

现在,就可以根据需要配置服务端的配置文件了,我们需要修改/var/matrix-synapse-data/下的homeserver.yaml 文件,里面最重要的是数据库和注册的设置,我因为图方便,就用的SQlite3当数据库,你也可以网上找一下使用POSTGRES作为数据库的配置写法,我贴上我的服务器配置,供大家参考。

erver_name: "ruoo.de"
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/ruoo.de.log.config"
media_store_path: /data/media_store
registration_shared_secret:"xxxxxxxxxxxxxxx"
report_stats: false
macaroon_secret_key: "xxxxxxxxxxxxxxxx"
form_secret: "xxxxxxxxx"
signing_key_path: "/data/ruoo.de.signing.key"
trusted_key_servers:
  - server_name: "matrix.org"

presence:
  enabled: true

email:
  smtp_host: xxxxxxxxxxxxx #你的smtp服务器
  smtp_port: 465 #一般是465
  smtp_user: "xxxxxxxxxxx" #自行填写
  smtp_pass: "xxxxxxxxxxxxx" #自行填写
  force_tls: true
  require_transport_security: true
  enable_tls: true
  notif_from: "xxxxxxxxxxxxxxx" #修改为你想要设置的发件人名称
  enable_notifs: true
  notif_for_new_users: false
  client_base_url: "https://ruoo.de" #修改为你的客户端域名
  validation_token_lifetime: 15m
  invite_client_location: "https://ruoo.de" #修改为你的客户端域名
suppress_key_server_warning: true

database:
  name: sqlite3  #这里为了方便起见,选用sqlite3作为数据库。你也可以使用PostgreSQL数据库,参考官方文档自行配置
  args:
    database: /data/homeserver.db

enable_registration: true
enable_registration_without_verification: true

完成之后,保存一下,我们重新运行一下。

docker ps
docker restart synapse

当你输入IP或者域名:8008端口访问,出现如下页面,就说明一切OK啦

后端就配置完成了,这时候,你需要设置一个nginx或者apache反代,配置文件就不贴了,如果使用宝塔或者AMH之类的面板,直接用自带的反向代理功能即可,反向代理127.0.0.1:8008端口~

其实这时候,用其他的任何matrix客户端,都可以设置主服务器为ruoo.de,成功的注册和使用了。但是毕竟是一套活,我为了好奇和不同服务器的速度不同,架设了两个不同软件的WEB端,大家可以体验一下。因为架设方式非常简单,在你想要的客户端服务器上,去github下载elements或者Cinny源代码,解压到网站根目录下面即可,这里就不详细阐述了。

我架设的两个WEB端入口,欢迎大家注册使用。

Elements(Cloudflare代理): https://room.ruoo.de

Cinny(香港服务器代理): https://chat.ruoo.de

后面有时间了,再来写一篇matrix的使用。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

zh_CNZH_CN