環境構築:GitLab+Rocket.Chat+Taiga on Docker ー RocketChat編
登場人物
- GitLab : バージョン管理
- Rocket.Chat : Webチャット
- Taiga : プロジェクト管理
こんな感じでやりたいと思います。
Taigaは入れた事ないけど、、、ま、なんとかなるさ。
DockerとDocker Composeを入れる
私がごちゃごちゃ言うより、公式を見た方が早い。
kernelのバージョン(現時点では3.10以上)に注意してくださいね。
Docker requires a 64-bit installation regardless of your Ubuntu version.
Additionally, your kernel must be 3.10 at minimum. The latest 3.10 minor version or a newer maintained version are also acceptable.
Rocket.Chatを入れる
1.docker-compose.yml
を書く
# vi docker-compose.yml app: image: rocket.chat environment: - MONGO_URL=mongodb://mongodb:27017/rocketchat - ROOT_URL=http://$HOSTNAME:3000 links: - mongodb ports: - 3000:3000 mongodb: image: mongo:3.0 volumes: - ./mongodb:/data/db command: mongod --smallfiles
$HOSTNAME
には自分の環境に合わせたものを入れてくださいませ。
2.mongodb用のディレクトリを作成
Dockerコンテナは削除するとデータまで削除されてしまいます。
そこが良いとこでもあるのですが。
前手順で書いたYMLファイルをよく読んで見ると、
恒久化するためにmongodbコンテナの一部ディレクトリを外に出しています。
volumes: - ./mongodb:/data/db
./mongodb
がホスト側、:の右がコンテナ内のディレクトリ
で、今、mongodbディレクトリが無いので、作成。
# mkdir mongodb
3.起動してみよう
docker-compose up -d
でも起動できる。
だけど、mongodbがコネクションを待ち受ける前にRocket.Chatが起動し、接続先がなくて起動失敗する。
コンテナの再起動してもダメ。
なので、最初にDBだけ立ち上げる
# docker-compose up -d mongodb # # logs確認 # docker-compose logs mongodb --- 略 mongodb_1 | 2016-06-12T12:36:33.227+0000 I NETWORK [initandlisten] waiting for connections on port 27017 ### ↑みたいなログが出ていることを確認 # docker-compose up -d app
あ。
そう、私の場合、コンテナ同士の連携がうまくいかなかった。
原因はこいつ
# sysctl -a | grep -i brid net.bridge.bridge-nf-call-arptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1
bridgeにarpテーブルやらipテーブルを適用する云々という設定だそうな。
むかつくので、無効にしてやりました。
# sysctl -w net.bridge.bridge-nf-call-arptables=0 # sysctl -w net.bridge.bridge-nf-call-iptables=0 # sysctl -w net.bridge.bridge-nf-call-ip6tables=0 # sysctl -a | grep -i brid net.bridge.bridge-nf-call-arptables = 0 net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0
# docker-compose stop app # docker-compose rm app [Y] # docker-compose up -d app
4.アクセスしてみる
localhost:3000
とか。
私の環境だと新規アカウント作成のリンクが消えていますけど、実際はちゃんとあります。
そこでアカウントを登録してください。
最初のユーザがAdmin権限を持つので、注意ですよ
5.LDAP連携と新規登録ユーザ拒否設定
管理 > LDAP から設定できます。
自分の設定をさらす。
検索窓の「変数 シェル」が恥ずかしい
こんな感じでOpenLDAPと連携しています。
LDAPサーバ構築の記事と見比べてみると、ふむふむと思えるはず。。。
次に新規ユーザをブロックします
管理 > アカウント から設定できます。
「新しいユーザを手動で承認する」にチェックをつけると、管理者が承認しない限りログインできません。
LDAP連携しているなら、「いいえ」で良いと思います。
「登録フォームへのアクセス」を無効に設定すると、新規ユーザの登録画面が出ません。
今日はここまで。