WSL2 Ubuntu で Mattermost Preview を試す
今さらですが、社内でビジネスチャットソフトを利用したいと思って話しを進めたところ、想定よりコストがかかり暗雲に・・。
古い社風なのでクラウドやチャット自体に理解が得にくいのもあり慎重に進めたいが、クラウドサービスはコストが目立つため、余剰リソースを使ってオンプレで実装できる 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 を導入しておきます。
Mattermost の起動
下記を参考に、Mattermost の Docker を実行します。
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 CONFIGURATION
のLocalization
を選択
-
Default Server Laguage
とDefault Client Laguage
に「日本語」を選択してSave
します。
デスクトップアプリのインストール
デスクトップアプリをインストールしてみます。
なお、モバイルアプリは HTTPS でないと通信できないため、今は使えません。
- 左上のメニューアイコンから
アプリをダウンロード
から Windows アプリをインストール -
Add Server
メニューで項目を入力
- ログイン画面に遷移するので、項目を入力してログイン
- Windows アプリが立ち上がりました
今回は Mattermost がどのようなものか触れてみたかったため、最も簡単に試せる Preview 版を導入してみました。このバージョンでは本番稼働はできませんので、色々試してみて「使えそう!」となった場合は、本番稼働に向けて記事を追加していこうと思います。
チャンネルを削除する (2022.07.27 追記)
Mattermost では GUI からチャンネルを削除できないようです。
サーバコマンドで削除できるようなので、下記を参考に試してみます。
- docker で起動しているため docker container の bash に接続します
docker container exec --interactive --tty 7010517b0567 bash
7010517b0567
は container ID
- docker container 内で vim を使えるようにインストールします
apt update
apt install vim
- 設定ファイルの
ServiceSettings.EnableAPIChannelDeletion
をtrue
に変更します
vi /mm/mattermost/config/config_docker.json # 設定ファイルを開く
... # 変更して保存
vim
の使い方は割愛します
-
mmctl
コマンドを使う前に管理者アカウントでログインします
mmctl auth login http://localhost:8065
> Connection name: hoge
> Username: hoge
> Password:
ローカルモードで起動する方法
ローカルモードで起動する方法もあります。
- 設定ファイルの
ServiceSettings.EnableLocalMode
をtrue
に変更します - ホストマシンから 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