天天看点

使用Rocket.Chat搭建属于自己的Slack服务和Hubot聊天机器人

    如果你在企业的层层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。按照界面的提示配置第一个管理员用户,你就可以在频道中说话了。

使用Rocket.Chat搭建属于自己的Slack服务和Hubot聊天机器人

添加Hubot机器人

    在以上的docker-compose中,除了启动mongo数据库和rocketchat服务之外,还启动了一个hubot机器人服务。需要一些额外的步骤,将Hubot机器人添加到频道中。

1. 点击左上角的展开按钮,点击Administration进入管理界面

使用Rocket.Chat搭建属于自己的Slack服务和Hubot聊天机器人

2. 在Users界面中添加一个用户,使用docker-compose.yml中配置的用户名和密码,注意图中按钮指示的位置

使用Rocket.Chat搭建属于自己的Slack服务和Hubot聊天机器人

3. 重启一下hubot服务,回到general频道,就可以和Hubot机器人在General频道里聊天了。

使用Rocket.Chat搭建属于自己的Slack服务和Hubot聊天机器人

    在Leanpub上一篇样章很好的介绍了Hubot脚本编程,大家可以参考:https://leanpub.com/automation-and-monitoring-with-hubot/read

参考资料

1. https://rocket.chat/docs/installation/docker-containers/