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