Matrix | 使用 docker 搭建 Synapse 记录
因为想用docker搭建,这里主要参考了使用docker搭建Synapse[Matrix],关于域名问题参考了Matrix踩坑记(一)和南狐的手把手debug。
域名
参考Matrix踩坑记(一),matrix是可以和其他服务共用一个域名的。因为我后续希望账号都是和社畜站的id完全相同,所以我使用retirenow.top这个域名,与此同时服务挂在cafe.retirenow.top。没有这个问题的,都用一样的域名就行。
搭建Synapse
按照教程建立/data/synapse/下的三个文件夹:
1 | mkdir /data/synapse |
之后都直接按照教程一步步执行即可,输入\q退出。
搭建时使用的所有域名均为retirenow.top。
如果使用不同域名,在修改/data/synapse/data/homeserver.yaml时,除了教程里的内容,还需要修改:
1 | public_baseurl: https://cafe.retirenow.top |
如果你之后使用cloudflare反代,由于关闭了8448端口,所以这边也要改:
1 | serve_server_wellknown: true |
到这一步,打开 http://127.0.0.1:55800/ 应该会显示matrix的server界面,提示:
Your Synapse server is listening on this port and is ready for messages.
这就是成功了!就是这么简单!
配置Riot web界面
服务器配置好以后来配置客户端,这边推荐全平台的element。需要注意的是,这里用的是cafe.retirenow.top这个域名,也就是通过打开:
来使用matrix。所以cloudflare里应该添加的是cafe到服务器的DNS映射,nginx也应该监听cafe.retirenow.top,只有在element的设置文件中需要指定server_name为retirenow.top。
这里解压到任何路径都可以,因为和前面的server是独立的。我的话解压到了/data/synapse/并改名为element-web:
1 | wget https://github.com/vector-im/element-web/releases/download/v1.10.9-rc.3/element-v1.10.9-rc.3.tar.gz |
上面的下载地址请自行替换为最新版本地址。
在”m.homeserver”中,修改”base_url”和”server_name”分别如下:
1 | "default_server_config": { |
配置nginx
在之前就配好的retirenow.top的nginx配置中加上:
1 | # Matrix |
然后新建一个cafe.retirenow.top的配置。
1 | cd /etc/nginx/sites-available |
依然按照使用docker搭建Synapse[Matrix]配置,但是删掉上面被挪到retirenow.top的那几行。
更改所有域名为cafe.retirenow.top,然后更改cafe.retirenow.top.conf的这三行为:
1 | ssl_certificate /etc/letsencrypt/live/cafe.retirenow.top/fullchain.pem; # managed by Certbot |
申请证书,reload nginx:
1 | certbot certonly --nginx -d cafe.retirenow.top |
我的certbot一定要这么搞才可以成功,至今不知道为什么,会搞certbot的用你自己的流程搞就可以了。要点就是这里要用cafe.retirenow.top.conf。
cloudflare添加好DNS记录,就可以直接打开啦:
配置管理页面
新建一个管理员账号:
1 | cd /data/synapse |
按照提示输入账号密码,在Make admin [no]: 时输入yes,之后可以直接在网页上改密码且不需要邮箱,很方便,所以不用配邮箱服务了。
然后搭建管理界面:
1 | docker run -d -p 8100:80 awesometechnologies/synapse-admin |
就可以通过访问:
http://localhost:59242
来使用管理页面。