如果你在企业的层层Firewall之后连接Slack之后,可以考虑为团队搭建一个Rocket.Chat服务,实现类似Slack的团队聊天功能。本文使用的方法适合于快速试用一下Rocket.Chat服务,如果是用于正式环境,还请参考官方文档。
安装并启动Rocket.Chat服务器
可以使用Docker Compose在本地安装一个Rocket.Chat服务,在目录中新建一个docker-compose.yml文件。
db:
image: mongo
command: mongod --smallfiles
rocketchat:
image: rocketchat/rocket.chat
environment:
- MONGO_URL=mongodb://db:27017/rocketchat
- ROOT_URL=http://localhost:3000
- Accounts_UseDNSDomainCheck=False
links:
- db:db
ports:
- 3000:3000
hubot:
image: rocketchat/hubot-rocketchat
environment:
- ROCKETCHAT_URL=rocketchat:3000
- ROCKETCHAT_ROOM=GENERAL
- ROCKETCHAT_USER=Hubot
- ROCKETCHAT_PASSWORD=BotPassw0rd
- BOT_NAME=Hubot
- EXTERNAL_SCRIPTS=hubot-help,hubot-seen,hubot-links,hubot-greetings
links:
- rocketchat:rocketchat
ports:
- 3001:8080
使用命令docker-compose up启动服务。如果你用的也是Docker for Windows,在浏览器中打开http://localhost:3000,就可以访问Rocket.Chat服务了;如果你用的是Docker Toolkit,请使用相应的IP替换localhost。按照界面的提示配置第一个管理员用户,你就可以在频道中说话了。
添加Hubot机器人
在以上的docker-compose中,除了启动mongo数据库和rocketchat服务之外,还启动了一个hubot机器人服务。需要一些额外的步骤,将Hubot机器人添加到频道中。
1. 点击左上角的展开按钮,点击Administration进入管理界面
2. 在Users界面中添加一个用户,使用docker-compose.yml中配置的用户名和密码,注意图中按钮指示的位置
3. 重启一下hubot服务,回到general频道,就可以和Hubot机器人在General频道里聊天了。
在Leanpub上一篇样章很好的介绍了Hubot脚本编程,大家可以参考:https://leanpub.com/automation-and-monitoring-with-hubot/read
参考资料
1. https://rocket.chat/docs/installation/docker-containers/