如果你在企業的層層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/