最近撸了一个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的使用。

Leave a comment

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

zh_CNZH_CN