如果你在企业的层层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/