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のサイトからユーザを作ってやるとそのうちログインしてきます。