【Mattermost】院内チャットツールを入れてみた

医療情報システムMattermost, チャットツール

イケイケのIT企業ではSlackやTeamsなどのチャットツールが活躍しているそうですが、ほとんどの病院ではおそらく院内ネットワーク(オンプレミス)のためこういったツールは活用出来ていないと思われます。私の病院も例外ではなくインターネットが前提であるチャットツールは一部を除いてしか使われていません。

しかしチャットツールも多種多様でインターネットがなくても使えるツールがいくつかありました。今回はチャットツールの一つであるMattermostを院内で使えるように構築してみたので、その構築方法と使用感を共有いたします。

チャットツールの有用性

チャットツールの最大の特徴はリアルタイムで情報のやり取りができることです。すぐに返信が欲しい時やちょっとしたことを聞きたい時などに役に立ちます。また同時に多人数とやり取りができるので、複数人との情報やり取りが効率よくできます。

情報のやり取りならメールや、ホームページ、グループウェアでもやりようはありますが、メールなら受信、ホームページやグループウェアなら更新が必要になるので、自動的に最新の情報に更新されるチャットツールならではの強みがあります。また、障害報告など緊急要件がチャットツールに上がるように設定されていれば、いち早く障害対応することも可能になります。

Mattermostとは

Mattermost(マターモースト)はオープンソースで開発されているSlackのようなチャットツールで、自分でサーバー用意してオンプレミスで運用できるサービスです。Slackと同じようなユーザーインターフェースでチャンネルをいくつも作れたり、会話に返信することでスレッドにすることができたり、絵文字が最初から用意されていてオリジナルの絵文字も追加できます。

基本的にサーバーを用意して使う分には無料ですが、有料プランも用意されていて有料プランになるとAD/LDAPアカウントとの連携ができたり、MicrosoftTeamsとの連携、データ分析などの機能の追加が行えるそうです。

サーバーとして用意するマシンもスペックは高くなくてもいいようで、1000人未満で使うのであれば1vCPU/cores、メモリ2GBぐらいで良いそうです。基本的にLinuxにインストールして使いますが、公式が非公式に(?)Windows用の実行ファイルを用意していて、Windows OSでもサーバーを立てることができました。オンプレミス環境で使えるチャットツールはいくつかあるのですが、Windows用に用意されているのはおそらくMattermostだけではないかと思います。ですので、試験導入として導入しやすいMattermostを採用しました。

導入手順

導入の際に必要となるのは以下の通りです。

  • サーバーマシン
  • MySQLなどのDB
  • Mattermost

私が導入したサーバーマシンは以下のようなスペックです。

Windows 10 Pro 64bit

CPU:Core-i7(第4世代) RAM:32GB SSD:256GB HDD:2TB

正直ここまでのスペックは要らなかったと思いますが、利用用途がないPCだったため使いました。

DBの用意が少し大変ですが、Windowsならxamppというソフトを導入することで、自動的にMySQL(MariaDB)がインストールされます。もしくはRedmineを導入する際に使用したbitnami Redmineのインストーラーを使っていればDBが導入されているので、そのサーバーを使うことでも動作確認済みです。

最後にMattermost本体ですが、Mattermostの公式ページに行き配布されているバージョンを確認します。

https://mattermost.com/deploy/

配布されているバージョンを下記のx.y.zに当てはめてリンクからダウンロードできます。

https://releases.mattermost.com/x.y.z/mattermost-team-x.y.z-windows-amd64.zip

ダウンロードしたら適当な場所に解凍します。私はCドライブ直下に解凍しました。

諸作業

必要なものを準備できたら少し設定作業が必要です。

  1. Mattermost用のデータベース作成
    インストールしたMySQLに接続し、下記のコマンドでデータベースを作成します。
    CREATE DATABASE mattermost;
    ## mattermostユーザーを作成して運用する場合は下記のコマンドが必要です。
    GRANT ALL ON mattermost.* to mattermost@localhost IDENTIFIED BY 'パスワード';
    FLUSH PRIVILEGES;

    私はとりあえずテストということでadminユーザでログインしてadmin権限でデータベースだけ作成しました。
  2. Mattermostの設定ファイルを編集
    “配置したフォルダ"\Mattermost\config\config.json を編集してポート変更、データベース変更、言語の変更を行います。
# 既に使っているポートであれば変更してください。
"ListenAddress": ":8065",

# データベースが初期では下記のようになっているので、
"DriverName": "postgres",
"DataSource": "postgres://mmuser:mostest@localhost/mattermost_test?sslmode=disable\u0026connect_timeout=10",
# 下記のように変更してください
"DriverName": "mysql",
"DataSource": "root:admin@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8",

# デフォルトの言語が"en"になっているので"ja"に変更します。
"DefaultServerLocale": "ja",
"DefaultClientLocale": "ja",

最後にコマンドプロンプトを開いて、C:\mattermost\binにあるmattermost.exeをコマンドプロンプトで実行したら動きます。

最初にユーザー登録したアカウントが管理者アカウントになるので、名前を付ける際には気をつけてください。

スクリーンショット 2021-10-24 152937
スクリーンショット 2021-10-24 153101

アカウント作成後にチーム(Slackでいうチャンネル)を作成してチャットが始められます。

運用について

1か月ほど課内で運用してみましたが、システム的な不具合はありませんでした。このまま本稼働もできる感じでしたが、肝心の利用者が少なく、あまり利用者がいませんでした。色々可能性を探るために、Redemineにプラグインを入れてRedemineの更新情報をMattermostに投稿したり、カスタム絵文字やbotなども試してみましたが、そもそも見てくれる人が少なかったので、効果はいまひとつでした。

ただシステム課内の少ない人数で、普段から対面でコミュニケーションを取っているので利用用途が少なかったと思います。病院には多職種がおり連携業務が多い部署もあるので、機会があればそれらの部署にも広めて業務効率の向上になっていければと思います。

まとめ

手軽にオンプレミスでもチャットツールが使えるのはとてもうれしくて、しかも導入手順も簡単だったので便利でした。まだまだチャットツールには可能性を感じますし、テレビ会議やチャットボットなどのサービスと組み合わせれば有用なツールであると思います。

今回はあまり部署内でのインパクトは薄めでしたが、めげずに様々なツールを提案していきたいと思います。