DevOps・ChatOpsにおいてチーム内でオープンに使えるチャットツールは必須アイテムと言えます。
その中でも特に人気があるのがSlackですが、Slackの無料プランは保存されるメッセージ数、保存できる添付ファイルの容量に制限があり権限管理機能も充実しているとは言えません。また有料版はアカウント数への課金のため、大人数で利用すると月額料金が高くなります。
この記事ではSlackの代替えとして人気になっているオープンソースのチャットツールRocket.Chatの紹介とインストール方法を説明します。※2017年3月時点での情報です。
Rocket.Chatの紹介
Rocket.Chatはオープンソースのウェブチャットプラットフォームです。MITライセンスで公開されています。
オフィシャル:https://rocket.chat/
GitHub:https://github.com/RocketChat/Rocket.Chat
主な機能を以下に列挙します。最近人気のチャットツールSlack、HipChatと近しい機能を提供しています。
- BYOS(bring your own server / 独自にオンプレで利用できる)
- ダイレクトメッセージ
- プライベートグループ
- デスクトップ通知機能
- マークダウン利用可・絵文字利用可
- チャットにメディア埋め込み可
- リンク先の自動プレビュー
- 送信済みメッセージの編集・削除可
- ファイルアップロード・共有機能(AWS S3へアップロード可)
- チャットの全文検索
- LDAP連携
- 多言語対応
- スクリーン共有
- Hubotフレンドリー
- ネイティブのリアルタイムAPI利用可
- REST API利用可
Electronで開発したクロスプラットフォームで動作するアプリケーションも公開されており、Windows、Mac OSX、Linuxで動作します。
https://github.com/RocketChat/Rocket.Chat.Electron
Rocket.Chatを選択するメリット
同種のツールが複数ある中、あえてRocketチャットを選択するメリットを幾つか列挙します。
- 自社内にオンプレミスで構築できる
- セキュリティ上の問題を自社で解決できる
- 利用料金が発生しない
- チャット内容・アップロードしたファイルのバックアップが可能
Slackのように不特定の相手と制限なくファイルをアップロード・添付できるツールを導入する場合、情報漏洩といったセキュリティ上の懸念を解決する必要があります。
オンプレミスで構築し、自社の運用ルールに合った制限を独自に設定する事でセキュリティの問題を解決できるかも知れません。
Rocket.Chatを選択するデメリット
では次に選択した場合に発生するデメリットを幾つか列挙します。
- 自社内でセキュリティを保証しなければならない
- 複数のチャットツールを使う事になるかも知れない
- トラブルシューティング・運用に時間がかかる
オンプレミス環境を選択した場合、セキュリティや問題解決などの運用コストが発生します。また導入コスト・試運転コストも発生します。
既にSlack等のチャットツールを導入している場合は新しくRocket.Chatを導入するとチャットツールを使い分ける状況になってしまいます。協力会社や社外スタッフも含めて運用していた場合、Rocket.Chatへの切り替え時に若干の混乱が発生するかも知れません。
Rocket.Chatのインストール
Ubuntu16.04にRocket.Chatを新しくインストールします。インストールマニュアルは以下URL先になります。
https://rocket.chat/docs/installation/manual-installation/ubuntu/snaps/
Rocket.Chatサーバーのインストールと起動
インストールするには以下のコマンドを実行します。
$ sudo snap install rocketchat-server
以下のように出力されるとインストール完了です。
> rocketchat-server 0.53.0 from 'rocketchat' installed
インストールに成功すると3000番ポートで起動しています。
http://localhost:3000/home
Rocket.Chatの動作しているバージョンやポート番号を確認するには以下のコマンドを実行します。
$ sudo systemctl status snap.rocketchat-server.rocketchat-server.service
ユーザーの登録とチャンネルの動作確認
新しくユーザーを登録してユーザー名を決定しましょう。http://localhost:3000/にアクセスして「新しいアカウントを登録」リンクを押します。
ここではbarbarでユーザーを登録します。
ユーザー名の登録が求められます。ここではbarbarにします。
無事にユーザー登録とログインできました。Slack風画面が表示されます。次にチャンネルを登録してみます。検索フィールド横の+ボタンを押します。
チャンネル名をnew-roomにして新しく作ります。
新しくチャンネルを作れました。絵文字もSlack風に利用できます。
ネイティブアプリのインストール
せっかくなのでネイティブアプリからも利用できるようにします。インストール環境はUbuntu16.04です。まず必要なライブラリを先にインストールします。
$ sudo apt install libindicator7 libappindicator1
次にRocket.Chat.Electronプロジェクトからパッケージをダウンロードします。
$ wget https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.5.0/rocketchat_2.5.0_amd64.deb
ダウンロードしたパッケージをインストールします。
$ sudo dpkg -i rocketchat_2.5.0_amd64.deb
これでネイティブアプリのインストールが完了です。Rocket.Chat+を起動しましょう。
接続先を指定します。以下キャプチャでは末尾に/が入っていますが必要ありません。
ウェブから利用するのと同じ画面が開きます。
ウェブと同じようにログインすると利用できるようになりました。
今回はLinux版でしたが、Windows版もリリースされていますし、Androidアプリ、iPhoneアプリもリリースされています。
Electron アプリプロジェクト:https://github.com/RocketChat/Rocket.Chat.Electron
iOSプロジェクト:https://github.com/RocketChat/Rocket.Chat.iOS
Androidプロジェクト:https://github.com/RocketChat/Rocket.Chat.Android
チャットプラットフォームを自社内で持つならRocket.Chatという選択も
セキュリティ上の問題でSlackを公に利用できない企業や組織も多いと思います。また、セキュリティ上の問題を解決するためにオンプレミス版のHipChatを導入している企業もあると思います。
Rocket.ChatはDevOps・ChatOpsで利用するために十分な機能と拡張性を備えているオープンソースプロジェクトです。
現在利用しているチャットツールの乗り換え先、または新しく導入するチャットプラットフォームの選択肢の1つとしてRocket.Chatを検討しても良いかも知れません。
本ブログは、Git / Subversionのクラウド型ホスティングサービス「tracpath(トラックパス)」を提供している株式会社オープングルーヴが運営しています。
エンタープライズ向け Git / Subversion 導入や DevOps による開発の効率化を検討している法人様必見!
「tracpath(トラックパス)」は、企業内の情報システム部門や、ソフトウェア開発・アプリケーション開発チームに対して、開発の効率化を支援し、品質向上を実現します。
さらに、システム運用の効率化・自動化支援サービスも提供しています。
”つくる情熱を支えるサービス”を提供し、まるで専属のインフラエンジニアのように、あなたのチームを支えていきます。
No Comments