Cris.Q

Back

这似乎是国内第一篇 Conduit 部署教程Blur image

:烦死了,似乎是第三篇或者第四篇,反正不是第一篇······

在很久~很久~以前,有一个开放的 IM 协议,他的名字叫做 Matrix。

相传,他披着黑色的中括号,腰杆儿挺得笔直,但是,从来没有人见过他真实的样子,因为他只使用化身为人们带来福音——那最著名的化身是 Synapse,生活在 Python 镇,但他厚重的铠甲常常令前来学艺或拜访的服务器望而生畏;比较灵巧些的化身是 Dendrite,他是 Go 城邦的贵公子,虽然装备不如老大 Synapse 那么齐全,但一样功夫了得,尤其是迅捷的身法,传闻只需要几百 Mb 的内存便可大展拳脚。他们二位长期为人们所称道,可谓家喻户晓哇!

然而,客官,咱们说的是另一位隐世的公子。Rust 派的嫡传弟子,Conduit。

简介#

在 Synapse、Dendrite、Ruma 等等一大堆 Homeserver 中最后还是选择了 Conduit 尝鲜,一是因为它比较轻量级,不至于让我的服务器叫苦连天;二是因为它很新,我喜欢新东西(即使它们功能不一定齐全);三嘛,因为它的开发者和社区热情且平等,没有架子,开发非常活跃。

真的很乐于助人的说!

另外,熟悉我的朋友都知道,我是个 Rust 爱好者,用 Rust 开发的 Conduit 本身就是个有吸引力的选择。而它的官网宣传语也让人十分动心:Conduit is a simple, fast and reliable chat server powered by Matrix.

那还说什么呢,快让我也 Powered By Matrix 吧。

安装&部署#

由于我是使用 Traefik 做反向代理的,所以下面的安装适用于 Traefik 用户。

先是 Docker-compose 一把梭:

可是,看起来并没有什么和 Traefik 相关的配置项,因为我们使用了另外一个文件:docker-compose.override.yml

愉快地docker-compose up -d,就能跑起来一个 Matrix Homeserver 了。你可以使用Federation Tester检测你的 Federation 功能是否成功配置。

配置&使用#

我倒没有怎么特别配置过 Conduit,感觉已经比较顺手了。但是文档介绍了一些额外的配置,例如 TURN 和 Appservice(Bridge),有兴趣的可以配置着玩。

至于使用,第一次创建用户时会生成一个会话密钥,请妥善保管。在其他平台登录该账号时使用此密钥验证,或与其他设备比较验证即可。需要注意的是,Conduit 目前不支持历史消息的获取,也不支持 Sliding Sync 功能,所以 ElementX 是无法使用的,其它客户端的 Space 功能也并不支持。(但基本的私聊,群组等功能是完整的)。

客户端方面,比较推荐的是Cinny,优雅极简的 Web Client,Android 上则推荐ElementFluffyChat,Gnome 上推荐 Fractal (Devel 版的,目前正式版不支持登录 Conduit),但 KDE 上不推荐 NeoChat。cli 端没用过,可以都尝试以下,选择你最喜欢的。俺现在就是 FluffyChat + Cinny 了。不过,值得注意的是,Fractal 在我的设备上似乎存在无法获取消息的问题,不清楚是否是普遍性问题。

哦,对了,我的账户是Cris.Q,欢迎来找我玩耍哦。你也可以去我的GoToSocial账户逛逛。

这似乎是国内第一篇 Conduit 部署教程
https://crisq.top/blog/conduit
Author Cris.Q
Published at 2023年3月12日
Comment seems to stuck. Try to refresh?✨