🦔

WSL2 Ubuntu で Mattermost Preview を試す

2022/07/26に公開

今さらですが、社内でビジネスチャットソフトを利用したいと思って話しを進めたところ、想定よりコストがかかり暗雲に・・。
古い社風なのでクラウドやチャット自体に理解が得にくいのもあり慎重に進めたいが、クラウドサービスはコストが目立つため、余剰リソースを使ってオンプレで実装できる Mattermost を試してみたいと思い試してみることに。

なお、Mattermost は Slack ライクなオープンソースのビジネスチャットソフトのようで、筆者もこれから触るため使い勝手は不明・・
公式からウェブサーバやデータベースサーバを全て含んだ Preview 版の Docker イメージが提供されているため、それを試して雰囲気をみようと思います。

実行環境

  • Windows バージョン
エディション	Windows 11 Home
バージョン	21H2
インストール日	‎2022/‎07/‎24
OS ビルド	22000.832
エクスペリエンス	Windows 機能エクスペリエンス パック 1000.22000.832.0
  • Ubuntu バージョン
cat /etc/os-release
> NAME="Ubuntu"
> VERSION="20.04.4 LTS (Focal Fossa)"
> ...

WSL2 の設定

はじめに、こちらの記事のとおり WSL2 に Docker を導入しておきます。
https://zenn.dev/fehde/articles/ea0e8a0a0a1de4

Mattermost の起動

下記を参考に、Mattermost の Docker を実行します。
https://docs.mattermost.com/install/install-docker.html

docker container run --name mattermost-preview -d --publish 8065:8065 mattermost/mattermost-preview

docker 起動の確認

docker container ls
> CONTAINER ID   IMAGE                           COMMAND                  CREATED         STATUS         PORTS                                                            NAMES
> 7010517b0567   mattermost/mattermost-preview   "/bin/sh -c ./docker…"   3 minutes ago   Up 3 minutes   3306/tcp, 33060/tcp, 0.0.0.0:8065->8065/tcp, :::8065->8065/tcp   mattermost-preview

以上で、Mattermost が起動しています。とても簡単ですね!!

動作的には docer コマンドが dockerhub で公開されているイメージ (mattermost/mattermost-preview) を PULL してきてローカルで実行しているようです。

Mattermost の利用

ルートアカウントを作成

下記アドレスにアクセスし、ルートアカウントを作成します。
http://localhost:8065/

チームの作成

Create a team から初期チームを作成します。

Web クライアント

初期チームの作成を進めると、Webクライアント画面に遷移します。

自分の設定を日本語化

初期設定は言語が英語になっているので、日本語化します。

  • トップ画面の右上の設定アイコンから Settings 画面を開き、Display を選択します。
  • Language に日本語を選択し、Save します。
  • 以上で、まずは自分のアカウントを日本語化しました。

デフォルト設定を日本語化

サーバとクライアントのデフォルト言語が英語になっているので、日本語化します。

  • 左上のメニューアイコンから System Console を選択

  • SITE CONFIGURATIONLocalization を選択

  • Default Server LaguageDefault Client Laguage に「日本語」を選択して Save します。

デスクトップアプリのインストール

デスクトップアプリをインストールしてみます。
なお、モバイルアプリは HTTPS でないと通信できないため、今は使えません。

  • 左上のメニューアイコンから アプリをダウンロード から Windows アプリをインストール
  • Add Server メニューで項目を入力
  • ログイン画面に遷移するので、項目を入力してログイン
  • Windows アプリが立ち上がりました

今回は Mattermost がどのようなものか触れてみたかったため、最も簡単に試せる Preview 版を導入してみました。このバージョンでは本番稼働はできませんので、色々試してみて「使えそう!」となった場合は、本番稼働に向けて記事を追加していこうと思います。

チャンネルを削除する (2022.07.27 追記)

Mattermost では GUI からチャンネルを削除できないようです。
サーバコマンドで削除できるようなので、下記を参考に試してみます。
https://docs.mattermost.com/manage/mmctl-command-line-tool.html#mmctl-channel-delete

  • docker で起動しているため docker container の bash に接続します
docker container exec --interactive --tty 7010517b0567 bash

7010517b0567 は container ID

  • docker container 内で vim を使えるようにインストールします
apt update
apt install vim
  • 設定ファイルの ServiceSettings.EnableAPIChannelDeletiontrue に変更します
vi /mm/mattermost/config/config_docker.json  # 設定ファイルを開く
...  # 変更して保存

vim の使い方は割愛します

  • mmctl コマンドを使う前に管理者アカウントでログインします
mmctl auth login http://localhost:8065
> Connection name: hoge
> Username: hoge
> Password:
ローカルモードで起動する方法

ローカルモードで起動する方法もあります。

  • 設定ファイルの ServiceSettings.EnableLocalModetrue に変更します
  • ホストマシンから docker container を再起動します
exit  # docker を抜ける
docker container restart 7010517b0567  # container を再起動
  • docker container に再接続します
docker container exec --interactive --tty 7010517b0567 bash
  • 下記にファイルのとおり、ファイルが作成されます
ls /var/tmp/mattermost_local.socket
  • --local オプションを使って mmctl コマンドが使えることを確認します
mmctl logs --local
  • 設定ファイルをリロードします
mmctl config reload
  • 削除するチャンネルがあるチーム名を取得します
mmctl team list
> test-team
  • 削除するチャンネル名を取得します
mmctl channel list test-team
> off-topic
> test-channel
> town-square

今回は test-channel を削除します

  • チャンネルを削除します
mmctl channel delete test-team:test-channel
> Deleted channel 'test-channel'
  • ログアウト (認証情報をクリア) します
mmctl auth clean

以上でチャンネルの削除が完了しました。

Discussion