LoginSignup
37
40

More than 5 years have passed since last update.

概要

Docker Compose コマンド1つで Rocket.Chat が動く環境を構築します。ソースコードからの構築や Docker コマンドの操作は面倒ですが、それらの課題を Compose を使って解決します。

Rocket.Chat とは? 「これは Slack ですか?」

Rocket.Chat ( https://rocket.chat/ ) は、オープンソースなウェブ・チャット・プラットフォームです。GitHub で有志による開発が行われており、MIT ライセンスで配布されています。ぶっちゃけ Slack クローンです。

動機

Docker や Docker Compose の実演(デモ)では Word Press が比較的多用される。しかし、Blog を書かない方にとっては興味対象外であることと、毎回デモに WordPress というのはベタすぎる。そこで、WordPress にかわり、アプリ+データベースの構成でありながら、実用度が高く Docker で利用可能なものを探し出した。……という極めて不純な理由です。

動作環境

  • Docker daemon が稼働中の環境
  • Docker Compose がセットアップ済み

手順

任意のディレクトリを作成し、docker-compose.ymlを作成します。以下の例はドキュメントのもので、「rocketchat」と「mongodb」の2つのコンテナを作成・リンクするものです。また、ホスト側のポート 80 番をコンテナのポート 80 に割り当てています。

rocketchat:
  image: rocketchat/rocket.chat
  environment:
    - MONGO_URL=mongodb://mongodb/rocketchat
    - ROOT_URL=http://localhost:80
  links:
    - mongodb
  ports:
    - 80:80

mongodb:
   image: mongo
   ports:
     - 27017

起動するには、docker-compose up コマンドを使います。

$ docker-compose up -d
Starting rkt_mongodb_1...
Starting rkt_rocketchat_1...

暫く待つと、Rocket.Chat が起動します。docker-compose psコマンドで状況を確認します。

$ docker-compose ps
      Name                    Command               State            Ports
------------------------------------------------------------------------------------
rkt_mongodb_1      /entrypoint.sh mongod            Up      0.0.0.0:32775->27017/tcp
rkt_rocketchat_1   /bin/sh -c bash $METEORD_D ...   Up      0.0.0.0:80->80/tcp

あとは、ブラウザから対象サーバのポート 80 にアクセスすると、次の画面が開かれます。「新しいアカウントを登録」をクリックします。

rocker1.png

それからユーザ情報を登録していくと、最終的に次のような(どこかで見たような)画面が見えます。「#general」等をクリックすると、いわゆるチャットルームのような操作が可能です。

rocket-chat.png

停止と起動はstopstartです。データはローカルの/data/dbという名称のボリュームを使用しますので、再起動後もそのまま使えます。

$ docker-compose stop
Stopping rkt_rocketchat_1... done
Stopping rkt_mongodb_1... done
$ docker-compose start
Starting rkt_mongodb_1...
Starting rkt_rocketchat_1...

最後にもうこれ以上使わない場合は、停止して削除します(-v オプションは、ボリュームもまとめて削除するオプションです)

$ docker-compose rm -v
No stopped containers
$ docker-compose stop
Stopping rkt_rocketchat_1... done
Stopping rkt_mongodb_1... done
37
40
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
37
40