Rocket.Chat从部署到放弃

Author Avatar
st 2021年01月18日
  • 在其它设备中阅读本文章

今天腾讯倒闭了吗?

从好几年前开始我就一直试图说服平时经常聊天的朋友们放弃QQ换个平台,也断断续续试过一些,最后基本都不了了之。
这次部署Rocket.Chat,实话说压根就没指望能带着朋友们搬家,纯当娱乐了。

一些链接

Rocket.Chat官网
Github项目地址
官方docs
客户端下载
我部署的Rocket.Chat: chat.stsecurity.moe

有关Rocket.Chat

搜了一圈开源IM,感觉还是Rocket.Chat影响力最大,国内的开源IM项目也看了一圈,没发现有什么成气候的。
Rocket.Chat自身其实是在对标slack,所以我更加不指望带着朋友们搬家了。

部署Rocket.Chat

实话说官方的docs整理的不怎么样,github上的Readme也没什么有用信息,想复制粘贴个命令还得搜半天。
别的不说,Github的Readme里头连推荐配置都没有,实在是有点气人。
docs里头的最低配置是

Single core (2 GHz)
1 GB RAM
30 GB of SSD

The above minimal virtual configuration, when not over-provisioned by
the provider, is ideal for small deployments of up to 200 users, up to
50 concurrently active and minimal level of mixed uploads, sharing,
and bot activities.

这次的服务器环境:Linode新加坡机房,单核1 GB RAM,Debian10系统,自家连接大概150ms延迟
延迟其实是高了点,不过平时通过代理上Discord或者LINE之类的也有这么多延迟,倒是没特别的感觉了。
因为没啥用户所以性能差点就差点吧,瓶颈感觉还是在网络上。

官方推荐的安装方式是snap,首先安装snapd:sudo apt-get install snapd
然后运行sudo snap install rocketchat-server安装。

这里其实就已经有坑了,这个命令安装的是2.4的某一个版本,现在最新版本都3.10.4了。
这里要通过切换snap tracks才能切换到3.x的版本,关于tracks的说明在他们论坛的一个post里,docs上面只有一个很小的链接,第一次看直接就漏掉了,这个post还是后来发现版本太老搜索的时候才搜到的。
所以如果想用3.x版本,安装过后要运行snap switch rocketchat-server --channel=3.x/stable切换到3.x版本,然后运行sudo snap refresh rocketchat-server来更新。

配置HTTPS

首先HTTPS不开的话IOS客户端都没法连,而且这都2210了,能不用http还是别用了。
大概流程和docs里的Auto SSL with Snaps章节差不多。
操作之前先要配置好DNS,不然第一步就证书下不来。
首先是用snap配置caddy:

sudo snap set rocketchat-server caddy-url=https://chat.stsecurity.moe
sudo snap set rocketchat-server caddy=enable
sudo snap set rocketchat-server https=enable
sudo snap run rocketchat-server.initcaddy

重启服务:

sudo systemctl restart snap.rocketchat-server.rocketchat-server.service
sudo systemctl restart snap.rocketchat-server.rocketchat-caddy.service

然后可以先试一下https能不能访问,如果正常的话就可以强制https了。
先关闭caddy:sudo snap set rocketchat-server caddy=disable
然后修改/var/snap/rocketchat-server/current/Caddyfile

chat.stsecurity.moe
proxy / localhost:3000 {
  websocket
  transparent
}

把域名前的https://去掉即可。
重启caddy:sudo systemctl restart snap.rocketchat-server.rocketchat-caddy
这一节的代码只需要把chat.stsecurity.moe改成要用的域名。

初次启动

初次启动会有一个设置引导,总之就是创建管理员账户,填基本信息之类的老生常谈。
有一个Connectivity Services需要在Rocket.Chat Cloud注册才能设置好,没有的话会没法用推送之类的功能。

刚部署完第一次启动发现速度极其慢,在日友人也是一样的体验,界面加载要几分钟,消息延迟也要以秒计。
实在受不了就套了个CDN,效果倒是不错,一下子就到能用的水平了。界面加载大概五秒,windows客户端比较卡是个问题,毕竟是基于electron构建的。消息延迟毕竟受物理延迟限制,肯定是比不上QQ或者微信,但是跟平时用discord和LINE真感觉不到什么差距了。

个性化设置

界面整个跟discord还挺像,不过看起来有不少可以自定义的东西。
用管理员账户的时候,首页的内容可以在Layout中改,图标等在Assets里头可以改。
大多数设置我也没去动,等有空再说了。

把菲特作为注册页面背景了,她真帅。
登录页面

放弃之前

我的Rocket.Chat实例
虽说不指望这个能代替QQ,但链接还是要放的。
以后再弄弄个性化,试试稳定性,其实也就到头了,除非腾讯哪天倒了,不然八成是永远用不到了。

本文链接:https://blog.stsecurity.moe/archives/125/
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

    Dylan Wu
    Dylan Wu  2022-03-18, 15:14

    你好,最近发现 Rocket.Chat 有了 Federation 功能,似乎是可以跨服聊天,我也有一个 Rocket.Chat 实例,想跟博主一起来测试这个功能看看

    st
    st  2022-03-18, 23:10

    你好,我没开Federation,一方面我没这个需求,另一方面这个功能也在Alpha阶段,可能有bug。想测试的话可能可以和官方服务器的用户测试?

    likutime
    likutime  2023-02-24, 17:48

    想问一下界面背景在哪改的,是要前端代码自己添加吗,我好像没找到设置

      st
      st  2023-02-25, 09:59

      登陆界面的背景设置在settings-assets-login background