LoginSignup
5
5

More than 5 years have passed since last update.

Let's chatをDocker上で動かしてみたら。

Last updated at Posted at 2016-02-28

検討経緯

1.会社のコラボレーションツールが使えなくなる。
まぁ、正しくは使えるんだが、使用者が制限されまして、コラボレーションツールとしての意味合いが減ってきているので別のツールを検討。
全社的な利用ではなく、あくまでチーム単位で使える程度の規模で。

2.Docker触ってみたい。
そろそろ真面目に利用を考えてみてもいいのかなと。

ということから開発環境にDockerを導入し、その上でコラボレーションツールを起動して運用してみようと画策。
色々見ていたらオンプレで利用出来るLet's Chatが良いっぽい。
これを機にメール主体のコミュニケーションからも脱却したいし。

導入

導入自体は至極簡単。
Docker導入からLet's Chat導入までを一気に

あ、環境はCentOS7です。

# docker導入/起動
yum update

cat <<EOF > /etc/yum.repos.d/docker.repo
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF

yum -y install docker
systemctl start docker

# docker compose導入
curl -L https://github.com/docker/compose/releases/download/1.6.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose
docker-compose --version

# Let's chat導入
docker pull mongo 

導入はここまで。
あとは設定して起動するだけ。

まずはDocker Composeの準備。
複数コンテナを纏めて起動したり停止してくれるので、楽ですね。

# docker-compose.yml準備
mkdir -p ~/letschat
cd ~/letschat
cat <<EOF > ./docker-compose.yml
app:
  image: sdelements/lets-chat
  links:
    - mongo
  ports:
    - 8080:8080
    - 5222:5222

mongo:
  image: mongo:latest
EOF

# コンテナ起動
docker-compose up

最後にアクセスして確認。
http://host-ip:8080/

デフォルトだとファイルアップロードやプライベートチャットルームの機能がオフになっているので、変更したい人はコンテナ上の/usr/src/app/config配下にsettings.ymlを配置する。
サンプルは/usr/src/app/settings.yml.sampleというものがあるので、それを流用。

/usr/src/app/configはすでにマウントされているので、docker inspectでホスト上のディレクトリを確認し、そこに配置。

一通り確認してみたら

最初のうちは普通に使えていたので、満足だったが、メッセージが増えてきた中、あるチャットルームで、ログオフ⇨オグインを実施したところ、ハング。
どうやら1ルームあたり100メッセージを超えるとハングするっぽい。
尚、Let's Chat上のルーム全体で100メッセージ超えた時点ではハングはしない。
例えば50メッセージのチャットルームが4部屋あっても問題なく使えた。
あと、1メッセージあたりのサイズも影響しないようだ。

AP層をローカルのCentOS上にgit cloneし、コンテナ上のMongoDBに接続した場合、
この事象は発生していない。
ログに出力されているLet's chatのバージョン見る限りはDocker上のものと同じなんだけど。。。Dockerの問題?調べても同様の事象が起こっているのが見つけられなかった。

2016/02/29 追記
101件目をPostした後、ログアウトするとMongoDBとのコネクションが10本中5本切れているようにみえる。

5
5
0

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
5
5