Rocket.Chatとは
web ベースでchat ができるアプリ。社内で使おうと思って
設定する方法をまとめてみた。
docker-composeの設定
Windowsでは、docker toolbox を使うと docker と docker-compose を同時に設定できる
説明は
ダウンロード先は
現時点のバージョンでは
- DockerToolbox-1.12.0.exe
がダウンロードできる。これを使って、インストールを実行し、完了すると
デスクトップに
- Docker Quickstart Terminal
のアイコンが生成される。
初めてこのアイコンをダブルクリックすると、docker の初期化のための
イメージのダウンロードや、仮想ネットワークの設定が開始され、
しばらくして、ターミナルのプロンプト待ち状態となる
仮想IPアドレスの確認
最初、間違って http://127.0.0.1:3000 へアクセスしてみたが、
何も表示されない。
docker が起動しているIPアドレスへ接続する必要があるので、
仮想ネットワークのIPアドレスを確認するコマンド
docker-machine ls
を実行して、URLに記載されているIPアドレスを書き留めておく
例:
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default * virtualbox Running tcp://192.168.99.100:2376 v1.12.1
この場合には、192.168.99.100 に割り当てられているので、
ブラウザから
にアクセスすることになる。
Rocket.Chatのdocker-compose.ymlの作成
説明URL
まずは、サンプルは
にある、これをひな形に以下のように編集した
mongo:
image: mongo
# volumes:
# - ./data/runtime/db:/data/db
# - ./data/dump:/dump
command: mongod --smallfiles --oplogSize 128
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://{メールサーバーのIPアドレス}
# - HTTP_PROXY=http://proxy.domain.com
# - HTTPS_PROXY=http://proxy.domain.com
links:
- mongo:mongo
ports:
- 3000:3000
編集したのは、rocketchat: の ROOT-URLに先ほどの仮想IPアドレスを記載する。あと、通知をメールでおくるので、MAIL_URLの設定も必要。
社内からだと、HTTP_PROXY, HTTPS_PROXY のproxy 設定が必要かも・・
コメントアウトしてある volumes の設定をうまくすることで、
データをdockerの仮想ドライブではないローカルディスクに
設定することができ、バージョンアップなどにも対応しやすく
なると思いますが、windows でのdocker 起動時の volume の設定は
わかりにくいので他のサイトを参照してください。
これを docker-compose.yml というファイル名で保存し、
docker のプロンプトでこのファイルが保存されたディレクトリへ移動する。
例えば、c:\docker\rocket.chat\docker-compose.yml に保存した場合には
cd c:/docker/rocket.chat
で移動する。
docker-compose の起動
docker-compose.yml のフォルダに移動してから
docker-compose up -d
とタイプする。これは、docker-compose の初期化のため、
イメージをダウンロードし、デーモンを起動するオプションである。
docker-compose ps でプロセスを確認
$ docker-compose ps
Name Command State Ports
-----------------------------------------------------------------------------------------
rocketchat_mongo_1 /entrypoint.sh mongod --sm ... Up 27017/tcp
rocketchat_rocketchat_1 node main.js Up 0.0.0.0:3000->3000/tcp
mongo と rocketchat の node.js が起動していて、ポート 3000 番で
待機している様子
ユーザー登録
最初のユーザー登録が管理者になるみたいなので、
新しいユーザー登録で自分のアカウントを登録する。
管理設定
ユーザー登録画面からログインして、
- http://{仮想IPアドレス}:3000/admin/info
で管理画面に移動できる
停止&開始
停止
docker-compose stop
開始
docker-compose start
削除
docker-compose rm -v