皆さん、Mattermostはご存じでしょうか?
Mattermostはオープンソースで開発されているSlackクローンのチャットツールです。
オンプレ内部だけで完結しますので、セキュリティ上の理由などから社外のサービスを使うことができない企業などでチャットを使いたい場合に利用することができます。
これまでは、Skypeやメールをコミュニケーションの手段として主に使っていたのですが、Skypeのチャットは過去の投稿などは消えてしまうのでルーム的な使い方ができません。
そんな状態でテレワークを開始したのですが、なかなかスムーズにコミュニケーションをとることができなかったため、オンプレのクローズ内で構築できるチャットツールとしてMattermostの導入を行いました。
なお、Gitlab OmnibasにはMattermostの機能が内包されている(デフォルトでは無効化)のでもしすでにGitlabを使っている場合には、そちらの有効化も合わせて検討してください。
今回はDockerで簡単にMattermostを構築することができたのでそのメモとなります。
試した環境
・CentOS7
※DockerやDocker-composeなどはインストール済み
以下の記事でCentOS7にdockerとdocker-composeをインストールしていますので参考にどうぞ
無償版のTeam Edition、有償版の Enterprise Edition
Mattermostには、2つのEditionがあります。
基本的なチャット機能を備えた無償版の「Team Edition」と企業利用で必要なセキュリティ、コンプライアンスおよび各種サポートを備えた有償版の「Enterprise Edition」があります。
通常使うだけならば無償版の機能だけで充分に使うことができます。
Mattermostをインストールする
Mattermostのインストール方法
Mattermostのインストール方法は大きく分けて3つあります。
①通常のアプリインストール(tar.gzアーカイブなどからのインストール)
②Docker Previewインストール(評価用などで簡単に構築可能)
③Docker Production Installation(複数のコンテナで構築される、本番用としても利用可能)
今回は③を採用することにして、無料版での構築を試してみます。
イメージをgit cloneで取得
ではインストールするためのDockerイメージを取得します。今回は/root/docokerの下に構築します。
# cd /root/docker
# git clone https://github.com/mattermost/mattermost-docker.git
docker-compose.yamlの修正
続けてdocker-compse.yamlを修正します。変更した部分だけ記載します。
デフォルトだとEnterpriseEdtionがインストールされるため、無料版に変更するためeditionをteamの部分のコメントを外してます。
あとはポートがぶつからないように変更しました。
# cd /var/docker/mattermost-docker
# vi docker-compose.yml
app:
build:
context: app
# uncomment following lines for team edition or change UID/GID
args:
- edition=team
・
・
web:
build: web
ports:
- "8080:80"
- "8444:443"
パーミッションの修正
Mattermostで利用するフォルダを作成して、パーミッションを設定します。
# mkdir -pv ./volumes/app/mattermost/{data,logs,config,plugins,client-plugins}
# chown -R 2000:2000 ./volumes/app/mattermost/
Dockerコンテナのビルド/起動
コンテナのビルド/起動を行います。初回はイメージとってきたりするので結構時間かかります。
# docker-compose up -d
# docker-compose ps
Name Command State Ports
-------------------------------------------------------------------------------------------------------------------------
mattermost-docker_app_1 /entrypoint.sh mattermost Up (health: starting) 8000/tcp
mattermost-docker_db_1 /entrypoint.sh postgres Up (health: starting) 5432/tcp
mattermost-docker_web_1 /entrypoint.sh Up (health: starting) 0.0.0.0:8444->443/tcp, 0.0.0.0:8080->80/tcp
Mattermostを使ってみる
初回ログオン
それでは作成したMattermostコンテナにアクセスしてみます。
初回にアクセスするとユーザーの作成を求められるので作成します。
ユーザーが作成できたらチームを作成します。
チームができると以下の様な基本画面が表示されます。
次にチャネルという実際のチャットルームを作成していきます。
チャネルを作成してみます。
これでチャネル単位でチャットすることができるようになりました。
ユーザー追加
新しいユーザーをチームに追加したい場合は、「チーム招待用リンク」を作成して
このリンクURLをユーザーにメール等で通知して、ユーザー登録をしてもらう形になります。
このURLを追加したいユーザーへ連絡します。
新しいユーザーがアクセスすると同様にユーザーを作成できます。
チャットを投稿してみます。見やすくて最高です。絵文字やReplyなども使えてコミュニケーションもはかどりそうですね。
言語設定
Mattermostは、多言語に対応していて、もちろん日本語も利用可能です。
「Account Settings > Display > Language」から表示言語を変更することができます。
テーマ変更
「Account Settings > Display > Theme」ダークモードなどに変更できます。
まとめ
やはりDockerは便利です。かなりの短期間でMattermostの構築ができました。
これをチームメンバー間で使うことでテレワークしていても気軽に連絡を取ることができてコミュニケーションの活性化が図れると思います。
最低限のルールなどは決めたうえでどんどん使っていきましょう。
Dockerのオススメ勉強方法
私がオススメするDocker初心者向けの最初に購入すべき書籍は「さわって学ぶクラウドインフラ docker基礎からのコンテナ構築」です。
さわって学ぶクラウドインフラ docker基礎からのコンテナ構築
本書ではDockerの基本的な概念などの座学ももちろんありますが、実際に、Dockerのインストール方法やWebサーバーをコンテナで構築するハンズオンを通じて学習することができるため、特に初心者の方はは分かりやすい内容となっています。
以上
コメント