• このエントリーをはてなブックマークに追加

Slackに似たチャットシステムRocket.ChatをDockerを使って展開する方法です。会社規則などでSlackが使えない。。という時の代替えとして使えそうです。

こちらを参考にしていますので合わせて参照ください。 またリバースプロキシ環境を想定していますので前回投稿した「Nginx(https)コンテナをdocker composeで作る」を参考にしてください。

Docker Composeファイルの作成

まずはdocker-compose.ymlファイルを適当なディレクトリに作成します。ここでは/var/docker/rocket.chatに作成します。

$ mkdir -p /var/docker/rocket.chat
$ cd /var/docker/rocket.chat

次にdocker-compose.ymlファイルを作成。サイト毎に固有の箇所は適時変更してください。

version: '3'

services:
  db:
    image: mongo
    restart: on-failure
    volumes:
      - ./data/runtime/db:/data/db
      - ./data/dump:/dump
    command: mongod --smallfiles
    network_mode: bridge

  rocketchat:
    image: rocketchat/rocket.chat:latest
    restart: on-failure
    environment:
      MONGO_URL: mongodb://db:27017/rocketchat
      ROOT_URL: https://chat.example.com
      Accounts_UseDNSDomainCheck: 1
      VIRTUAL_HOST: chat.example.com
      VIRTUAL_PORT: 3000
      LETSENCRYPT_HOST: chat.example.com
      LETSENCRYPT_EMAIL: hostmaster@example.com
    links:
      - db:db
    network_mode: bridge

  hubot:
    image: rocketchat/hubot-rocketchat:latest
    restart: on-failure
    environment:
      - ROCKETCHAT_URL=rocketchat:3000
      - ROCKETCHAT_ROOM=GENERAL
      - ROCKETCHAT_USER=ChatBot
      - ROCKETCHAT_PASSWORD=BotPassw0rd
      - BOT_NAME=ChatBot
      - EXTERNAL_SCRIPTS=hubot-help,hubot-seen,hubot-links,hubot-greetings,hubot-diagnostics
    volumes:
      - ./scripts:/home/hubot/scripts
    links:
      - rocketchat:rocketchat
    network_mode: bridge

Docker の起動

ファイルを作成したらdocker-composeコマンドを実行します。

$ docker-compose up -d

実行したらブラウザでサイト開いて初期ユーザを作成します。hubotはrocket.chatのサイトからユーザを作ってやるとそのうちログインしてきます。

  • このエントリーをはてなブックマークに追加