docker-compseのRocketChatサーバへhubotを追加

前回、MacにRocketChatサーバをインストールしました。

RocketChatにチャットボットのhubotを追加したいと思います。


hubot用アカウント追加

  1. RocketChatにログインします。
  2. 管理をクリック。
  3. ユーザーをクリックして、画面右端の「+」をクリックします。
  4. bot用のユーザ情報を入力します
    パスワードは後でdocker-compose.yamlへ入力するので控えておいて下さい。
  5. 保存ボタンをクリックしてbotユーザを作成します。

docker-compose.yaml変更

  1. ターミナルを起動し、docker-compseを停止します。
    cd rocketchat
    docker-compose down

  2. RocketChatのオフィシャルイメージサイトを参考に、docker-compose.yamlを編集し、hubotの設定を追加します。
    nano docker-compose.yaml
    version: '2'
    services:
    rocketchat:
    image: rocketchat/rocket.chat:latest
    volumes:
    - ./uploads:/app/uploads
    environment:
    - PORT=3000
    - ROOT_URL=http://<IPアドレスを入力>:3000
    - MONGO_URL=mongodb://mongo:27017/rocketchat
    #- MAIL_URL=smtp://smtp.email
    - Accounts_UseDNSDomainCheck=false
    links:
    - mongo:mongo
    ports:
    - 3000:3000
    mongo:
    image: mongo:latest
    volumes:
    - ./data/db:/data/db
    #- ./data/dump:/dump
    command: mongod --smallfiles --oplogSize 128
    
    hubot:
    image: rocketchat/hubot-rocketchat:latest
    environment:
    - ROCKETCHAT_URL=rocketchat:3000
    - ROCKETCHAT_ROOM=GENERAL
    - ROCKETCHAT_USER=bot
    - ROCKETCHAT_PASSWORD=<botを作成した時のパスワードを入力>
    - BOT_NAME=bot
    # you can add more scripts as you'd like here, they need to be installable by npm
    - EXTERNAL_SCRIPTS=hubot-help,hubot-seen,hubot-links,hubot-diagnostics
    depends_on:
    - rocketchat
    volumes:
    - ./scripts:/home/hubot/scripts
    # this is used to expose the hubot port for notifications on the host on port 3001, e.g. for hubot-jenkins-notifier
    ports:
    - 3001:8080
  3. docker-composeを起動します。
    docker-compose up -d
  4. RocketChatへログインし、botが反応するか確認します。
    @bot helpを入力し、ヘルプが表示されれば、hubotが正常に動作しています。

スクリプトの追加方法

  1. docker-compose.yamlを編集します。
    nano docker-compose.yaml

    試しに、EXTERNAL_SCRIPTS=にhubot-shipitを追加・・・

    - EXTERNAL_SCRIPTS=hubot-help,hubot-seen,hubot-links,hubot-diagnostics,hubot-shipit
  2. hubotを再起動します。
    docker-compose restart hubot
  3. こんな感じに・・・・おもしろ画像は見てのお楽しみ。

    hubot起動時にEXTERNAL_SCRIPTSに記述したnpmパッケージをインストールしてくれるようです。

hubotのスクリプト

GitHubのHubot Scriptsが参考になるかと思います。

スクリプトによっては、docker-compose.yamlファイルにGoogle-API-Keyを記入する必要があるそうです。

スポンサーリンク

フォローする

スポンサーリンク