社内でSlackを使いたいけど情シスに怒られるので、社内ネットワークで動くWEBチャットアプリ「Rocket.Chat」をコマンド2行でインストールする
概要
- タイトルが長くなってしまいました。
- Slackって便利ですけどどこからでもアクセスできるので、セキュリティホールになりかねませんよね。
- ちなみにコマンド2行と書きましたが、実際に1から導入するとなるとコマンド叩くまでの道のりが結構長かったりします。よくある詐欺です。
Rocket.Chatについて


- デモ https://demo.rocket.chat
- SlackをパクったWebで動くチャットアプリです
- スクショの通り、BOTでgithubやgitlab等のプルリクエストや、RedmineやJenkinsの通知もできるみたいです(やり方は知らない)
つかうもの
- CentOS7.2
- Docker
- mongoDB(データベース)
他に似たようなチャットWEBアプリ
- http://qiita.com/yasuhiroki/items/0e06ccda1c53f616d74d の記事で紹介されています。
- この頃のRocket.Chat人気は普通でしたが今はRocket.Chatのスター数が他を圧倒している状況です。
- Let's chatも使ってみましたが、1年ほど前に使ったときは微妙でした。機能も少ないし、インストール方法が悪かったのか一定数ログが溜まるとデッドロックする致命的なバグに遭いました。。。
インストールの大きな流れ
- CentOS上にDockerをインストールして、その上にmongoDB(データベース)とRocket.Chatを置きます
(Dockerって流行ってますけど正直僕はあまり詳しくないです)
導入手順
- コマンド2行だけ解説してもつまらないので、OSのインストールから軽くですが説明します。
-
とりあえずVirtualBox上にブリッジネットワークでcentOS7を入れる
-
SSHで接続後、SELinuxとFireWallを切る(参照: http://qiita.com/fetaro/items/8cf5169dc4d8a7ac9af6)
-
dockerのインストール、サービス起動、サービス自動起動有効化
yum install -y docker systemctl start docker systemctl enable docker
-
dockerにmongoDB、rocketChatを入れて起動(参考:https://github.com/docker-library/docs/tree/master/rocket.chat#how-to-use-this-image )
# mongodb3.0のイメージファイルpullしてきてdbという名前でdockerイメージ起動(--smallfilesはmongodbの設定) docker run --name db -d mongo:3.0 --smallfiles # rocket.chatのイメージファイルpullしてきてrocketchatという名前でdockerイメージ起動 # docker側の3000番ポートとホストOSの80番ポートをマッピングする # mongodbを使用するので先ほど作った dbという名前のコンテナとリンクする docker run --name rocketchat -p 80:3000 --env ROOT_URL=http://192.168.1.8(ホスト名) --link db -d rocket.chat
-
アクセスすると起動します(2行で済むといったのはこの直前のコマンドのみです。)
どうでもいいこと
- 言語はNode.jsでMeteorというwebsocketを使うフレームワークで書かれているようです。
- 絵文字は「emojione」というライブラリを使っています。qiitaの絵文字よりフラットで好きです。
- 画面表示メッセージには、多分「toatr」というライブラリを使っています。これも好きです&よく見ます。
最後に
- rocket.chatを導入すれば社内でしかアクセスできないので、slackみたいにプライベートの時間中に呼び出されることもないですね。
- こんな記事書きましたが、実際にrocket.chatを社内で使ったことはないです。
- 長期運用もしたことないので運用関係のアレコレもなんも分からないです。
- dockerって便利らしいですけど、学ぶのめんどくさいですよね。