天天看點

使用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/