ねらい
- VirtualBox上のCentOS 7
- DockerとDocker-Compose
でRocket.Chatを動かしてホストや外部のマシンからアクセスする。
会社にある似たような構成のマシンだとRocket.Chatが立ち上がっても外部からのアクセスができなかった。
ざっくり
- Dockerインストール
- docker-composeインストール
- SELinuxをオフにする
- docker-compose.ymlを作成
docker-compose up
- ゲストのローカルからもアクセスできたし、ホストのローカルからもアクセスできた
docker-compose.yml
version: '2'
services:
rocketchat:
image: rocketchat/rocket.chat:latest
restart: unless-stopped
volumes:
- ./uploads:/app/uploads:z
depends_on:
- mongo
ports:
- 3000:3000
mongo:
image: mongo:latest
restart: unless-stopped
volumes:
- ./data/db:/data/db:z
- ./data/dump:/dump:z
command: mongod --smallfiles --oplogSize 128 --replSet rs0
mongo-init-replica:
image: mongo:latest
command: 'mongo mongo/rocketchat --eval "rs.initiate({ _id: ''rs0'', members: [ { _id: 0, host: ''localhost:27017'' } ]})"'
depends_on:
- mongo
:z
オプションはちゃんと機能してないかも。
メモ
- SELinuxに阻まれてストレージへの書き込みができなかった。オフにしたら正常に起動した
- 本番でやりたい環境もそうなっているのかもしれない。要確認
- 試して思ったけれど、Rocket.Chatを運用するコストは結構、高くつくのでは、と
- 無償利用可能なソフトを自社でホスティングする場合はどれにでもいえる。知見を得るためなどでないなら、借りたほうがよい、というのはその通りだと思う