Mattermostをサーバに入れてOpenClawと連携し、Windowsから指示を出せるようにする手順
この記事では、自分のサーバにMattermostを構築し、OpenClawと連携して、Windows PCのMattermostクライアントからOpenClawへ指示を出せるようにする流れをまとめます。今回は既存のDiscordと置き換えず、同居設定とします。
構成は次のようにします。
- サーバ上にMattermostをDocker Composeで構築する
- MattermostでOpenClaw用のBotアカウントを作成する
- OpenClawにMattermostチャンネルを追加する
- WindowsのMattermostアプリからBotにDM、またはチャンネルでメンションして指示を出す
前提
- Linuxサーバを1台用意している
- サーバにDockerとDocker Composeが入っている
- OpenClawは同じサーバ、またはMattermostから到達できるサーバで動かす
- Mattermost用のドメインとして
chat.example.comを使う - OpenClaw用のBot名として
@openclaw-botを使う
必要なスペック参考
Mattermost公式の最小要件は、ざっくり 1 vCPU / 2GB RAM / 10GB空き容量 です。2Gメモリで動いているOpenClawとの同居は難しいので、4Gに上げるか、別サーバで構築した方がよさそう。
1. MattermostをDocker Composeでインストールする
まず、Mattermost公式のDocker構成を取得します。
cd /opt
git clone https://github.com/mattermost/docker mattermost-docker
cd mattermost-docker
設定ファイルのひな形をコピーします。
cp env.example .env
.env を編集し、少なくとも DOMAIN を自分のMattermost用ドメインに変更します。
DOMAIN=chat.example.com
必要なディレクトリを作成し、Mattermostコンテナが書き込めるように権限を設定します。
mkdir -p ./volumes/app/mattermost/{config,data,logs,plugins,client/plugins,bleve-indexes}
chown -R 2000:2000 ./volumes/app/mattermost
まずは検証用として、内蔵NGINXなしで起動する場合は次のコマンドを使います。
docker compose -f docker-compose.yml -f docker-compose.without-nginx.yml up -d
この場合、ブラウザで次のURLにアクセスします。
http://chat.example.com:8065/
本番運用ではHTTPS化したうえで、https://chat.example.com/ でアクセスできるようにするのがおすすめです。
2. 初期管理者ユーザーを作成する
ブラウザでMattermostにアクセスすると、最初の管理者ユーザーを作成できます。
管理者ユーザーを作成したら、チームとチャンネルを作成します。たとえば、OpenClawに指示を出すためのチャンネルとして openclaw のようなチャンネルを作っておくとわかりやすいです。
3. MattermostでBotアカウントを作成する
OpenClawからMattermostに接続するため、Mattermost側でBotアカウントまたは連携用ユーザーを作成します。
管理画面で、Personal Access Tokenを使えるようにします。
System Consoleを開くIntegrationsからPersonal Access Tokenを有効にする- OpenClaw用のBotまたは専用ユーザーを作成する
- そのユーザーでPersonal Access Tokenを作成する
- 発行されたトークンを安全な場所に控える
ここでは、発行されたトークンを仮に次のように表します。
MATTERMOST_BOT_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxx
このトークンはパスワードと同じ扱いです。ブログ記事やリポジトリには絶対に貼らないでください。
4. OpenClawにMattermostプラグインを入れる
OpenClaw側でMattermostチャンネルを使えるようにします。
openclaw plugins install @openclaw/mattermost
現在のOpenClawにMattermostが入っているか確認するには、次のコマンドを使います。
openclaw channels list --all
一覧に Mattermost が表示されれば、Mattermostチャンネルを追加できます。
5. OpenClawにMattermost接続情報を登録する
対話形式で設定する場合は、次のコマンドを実行します。
openclaw channels add --channel mattermost
プロンプトに従って、MattermostのURLとBotトークンを入力します。
- Base URL:
https://chat.example.com/ - Bot Token: Mattermostで作成したPersonal Access Token
非対話で設定する場合は、次のように指定できます。
openclaw channels add \
--channel mattermost \
--base-url https://chat.example.com/ \
--bot-token xxxxxxxxxxxxxxxxxxxxxxxxxx
ただし、コマンド履歴にトークンが残る可能性があるため、本番環境では対話形式、環境変数、またはシークレット管理を使うほうが安全です。
6. OpenClaw Gatewayを再起動する
設定を反映するため、OpenClaw Gatewayを再起動します。
openclaw gateway restart
状態を確認します。
openclaw status
openclaw channels status
Mattermostチャンネルが有効になっていれば、OpenClawはMattermost上のメッセージを受け取れる状態です。
7. Mattermost側でBotをチャンネルに追加する
Mattermostで、OpenClaw用Botを指示用チャンネルに追加します。
たとえば openclaw チャンネルを作成し、そこに @openclaw-bot を追加します。
OpenClawは、デフォルトではチャンネル内のすべての発言に反応するのではなく、メンションされたときだけ反応する設定にしておくのが扱いやすいです。
@openclaw-bot 今日のサーバ状態を確認して
DMで使う場合は、Mattermostで @openclaw-bot に直接メッセージを送ります。
バックアップの状態を確認して
8. WindowsからMattermostに接続する
Windowsでは、Mattermost Desktopアプリをインストールします。
- Microsoft StoreからMattermost Desktopをインストールする
- サーバURLとして
https://chat.example.com/を追加する - Mattermostアカウントでログインする
- OpenClaw用チャンネル、またはBotへのDMを開く
これで、WindowsからMattermost経由でOpenClawへ指示を出せるようになります。
9. 動作確認
まずはDMで簡単な指示を送ります。
こんにちは。今動いている?
チャンネルで使う場合は、Botにメンションします。
@openclaw-bot このサーバのディスク使用量を確認して
OpenClawから返信が返ってくれば連携成功です。
10. 運用時の注意点
- MattermostはHTTPSで公開する
- Botトークンは記事、Git、チャットに貼らない
- Botに必要以上の管理者権限を与えない
- OpenClawが反応するチャンネルやユーザーを制限する
- 外部公開する場合はファイアウォールとリバースプロキシを確認する
- バックアップ対象にMattermostのデータディレクトリとOpenClaw設定を含める
