文章首发于个人公号:「阿拉平平」
大家好,我是安利狂魔平平。
前段时间,我的一个朋友入职了一家初创公司,新手村的第一个任务就是架设公司的聊天平台。成熟的聊天平台其实有很多,但朋友却犯了难:由于公司刚刚搬迁,还未接入外网,各主机只能在局域网内通信。于是我向他安利了一个开源的聊天平台:Rocket.Chat。
项目介绍
Rocket.Chat[1] 是一个基于 JavaScript 开发、可高度定制的聊天平台。通过部署 Rocket.Chat 服务,用户完全可以搭建一套供企业内部使用的聊天平台。项目的功能齐全,并配套了 App,本文将介绍 Rocket.Chat 安装和使用方法。
下载安装
Rocket.Chat 目前最新的版本为 4.0.1,可以通过手动或者容器的方式安装。这里我推荐使用容器,部署过程会方便不少。
如果要用容器的方式部署,需要先安装 docker 和 docker-compose,再下载编排文件:
# 创建并进入工作目录
mkdir /opt/rocketchat
cd /opt/rocketchat
# 下载编排文件
curl -L https://raw.githubusercontent.com/RocketChat/Rocket.Chat/develop/docker-compose.yml -o docker-compose.yml
根据自己的需求来修改编排文件,修改完成后,运行以下命令启动服务:
docker-compose up -d
服务启动后,在浏览器中输入 http://{ip}:3000
进行访问。
使用说明
第一次使用 Rocket.Chat 时,一些可能会不太习惯。不过不用担心,Rocket.Chat 用起来还是比较简单的。接下来,我会向大家演示 Rocket.Chat 的基本用法。
安装向导
我们第一次访问 Rocket.Chat 时,会被引导到安装向导,根据页面的提示来配置就好。
首先是添加管理员,根据提示填写管理员的信息:

接着是创建组织,可以根据实际情况填写信息:

组织创建好后,再完善服务器的信息:

最后是配置注册服务器信息:

全部配置完成后,就可以用管理员账号登录 Rocket.Chat 了。

注册用户
安装向导配置完成后,我们再注册一个普通用户来看看 Rocket.Chat 的聊天功能。
再次访问 http://{ip}:3000
进入登录页面,点击『注册一个新账号』:

填好用户信息后,点击『注册一个新账号』按钮:

填写注册用户名,点击『使用此用户名』:

私聊消息
不用多说,Rocket.Chat 的核心功能自然是聊天。通过刚刚注册的用户,我们来看看聊天的效果如何。
点击左上角的图标,新建一个私聊消息:

选择私聊的对象,点击『创建』按钮:

Rocket.Chat 的聊天功能还是比较完善的,支持 Emoji,发送文件以及图片预览。

创建讨论
如果大家平时经常使用聊天工具,对讨论组肯定不会陌生,Rocket.Chat 同样支持创建讨论组。
以刚刚私聊中的疑问为例,可以创建一个讨论组:

填写讨论的名称,邀请需要参与的用户,点击『创建』按钮:

Rocket.Chat 讨论组的显示效果如下:

创建频道
Rocket.Chat 的频道类似于我们平时使用的『群』,适用于多人聊天。
点击左上角的图标,新建一个频道:

填写名称、话题,选择成员,点击『创建』按钮:

创建团队
Rocket.Chat 是一套面向企业的开源方案,所以会有团队这个概念。团队主要是用于人员的划分,让公司的组织架构更为清晰,便于管理。
创建团队与频道类似,依旧是点击左上角的图标,然后新建团队:

填写团队的信息和人员进行创建:

团队创建好后,我们还可以关联之前创建的频道:

选择之前的频道,点击『添加』:

勾选 『Auto-join』选项后,团队中的成员都会被添加到相应频道中:

Hubot 机器人
Hubot 是一个非常流行的开源聊天机器人,Rocket.Chat 对此进行了集成。因此,我们可以很方便地添加一个聊天机器人来为我们服务。
如果你细心的话,你会发现当前 hubot 容器一直处于重启状态,而日志里其实已经给出了明确的报错:
ERROR Unable to Login: {"isClientSafe":true,"error":403,"reason":"User not found","message":"User not found [403]","errorType":"Meteor.Error"} Reason: User not found
提示用户不存在,所以当务之急是要添加一个机器人账号,我们通过管理员账号来添加。
首先点击管理员头像,点击『管理』并进入用户页面:

添加一个新用户,填写对应信息。填写邮箱的时候,注意勾选『已验证』:

用户名和密码需要和编排文件中的内容对应,Roles 选择 bot
,其余的选项都不勾选:

之后将机器人加到频道或者讨论组中,通过命令就可以调用了。

Hubot 的玩法就比较多了,通过编写脚本可以定制自己想要的功能。不过本文主要是介绍 Rocket.Chat,这里就不展开了。
写在最后
Rocket.Chat 作为一个开源的聊天平台,部署简单,功能强大,官方的文档[2] 写得也非常详细。如果你正好在寻找一个可以自建的聊天平台,那么 Rocket.Chat 值得一试。
References
[1] Rocket.Chat: https://github.com/RocketChat/Rocket.Chat
[2] 文档: https://docs.rocket.chat/
网友评论