Alan Hou的个人博客

Rocket.Chat安装手记

最近几天在看开源 Live Chat的一些方案,相对比较优秀的有Chatwoot,但开源代码中原始嵌入的 JS 似乎没有移动端自适应(似为开发版问题,master 分支可自适应显示)。同时看了一下本文中这个方案,它其实它并不是一个Live Chat方案,虽然带有相应的功能,主要功能是建立不同 Channel 进行群聊,尝试了一下,整体体验和功能还是非常全面的,手机端自适应,同时可以发送视频、音频、代码、数学公式,同时可以 pin、关注相应的发帖,当然还具有举报和删除的功能。

Rocket.Chat的缺点在于其因功能强大而在使用上会比较复杂,同时因其迭代速度较快也会存在文档更新不及时会自有的 bug 而需要耗费较多的时间进行排错处理。在B站上搜索并没有几个视频,暂也未发现国内在这块的活跃社区,所以遇到问题可能还是需要借助于国外的平台。

官方文档:

手动安装:https://docs.rocket.chat/installation/manual-installation

iframe集成:https://docs.rocket.chat/guides/developer/iframe-integration

下文使用的系统为 Ubuntu 18

在线查看组件:https://rocketchat.github.io/Rocket.Chat.Livechat/

安装依赖

有关 MongoDB 的更多配置可参见MongoDB, Solr & RabbitMQ安装及常见问题

安装 Rocket.Chat

配置 Rocket.Chat 服务

配置用户

添加服务文件

打开/lib/systemd/system/rocketchat.service进行相关配置(线上 Mongo 请设置密码)

线上为 Mongo 设置密码后需修改对应部分配置为mongodb://user:passwd@127.0.0.1:27017/rocketchat?replicaSet=rs01 这一格式,设置示例如下(角色可设置为readWrite或 dbOwner)

其中对 local 库设置用户时需切换至 admin,否则会报错

Mongo 配置文件修改

启动Rocket.Chat 服务

安装 Nginx

Lets Encrypt

其它方式

使用 snap 快速安装

阿里云安装文档

Live Chat前端安装通过 JS 实现自定义,比如自定义 Agent:

常见问题

1、Refused to display ‘https://chat.xxx.xxx/livechat’ in a frame because it set ‘X-Frame-Options’ to ‘sameorigin’.

2、默认 Live Chat 等代码的域名也需在 General > Site URL中进行设置,否则为 http://localhost:3000
实测示例中虽然域名后带有/但如果这么填写的话会导致前台多一个斜杠图片显示出问题并伴有控制台Websocket的报错(配置后最后重启服务)

3、无法启动服务并报错:TypeError: AsyncLocalStorage is not a constructor

 
退出移动版