MattermostをセルフホストしてSlackの代わりになるか実機検証|8GBのVPSにDocker構築、メモリ0.25GB・日本語検索の落とし穴【2026年版】
2026-10-19
※2026年10月7日時点の情報です。Mattermost 11.7.0(Extended Support Release。公式 Docker 構成の既定バージョン)を弊社のサーバーで動かして確認しました。検索の挙動やエディションの条件は版によって変わるため、最新の内容は公式ドキュメントで確認してください。
Slack の有料化や履歴制限をきっかけに「自社サーバーで動くチャット」を探すと、必ず名前が挙がるのが Mattermost です。手順の記事は多い一方、メモリ使用量、日本語化の程度、日本語の検索が効くかを実測した記事はほとんどありません。そこで弊社で、公式の Docker 構成で 2コア・8GB の VPS に 11.7.0 を立てて確認しました。
結論:Mattermostのセルフホストは8GBのVPSで軽々動く。ただし日本語の検索と無料版の制限に注意
- 起動直後のメモリは 約0.25GB。弊社が同じサーバーで検証した5つの OSS(Dify など)の中で最も軽い
- コンテナは2つだけ。イメージ取得29秒、API が応答するまで 51秒
- 画面はほぼ完全に日本語。ただし初期設定の画面は英語のまま
- 日本語の投稿を日本語で検索すると、既定では当たらない(11.7.0 で実測)。対策は後述
- 公式 Docker 構成の既定イメージは Enterprise Edition で、ライセンスなしの無料モード「Entry」として動く。メッセージ履歴は 1万件まで。制限なしで使うなら MIT ライセンスの Team Edition を選ぶ
Mattermost 11.7.0 のDocker構築手順と実測値
公式の手順は、git clone https://github.com/mattermost/docker → cp env.example .env → .env の DOMAIN を編集 → ボリューム用ディレクトリを作成して chown -R 2000:2000 → docker compose up -d の5段階です。NGINX を含めない場合は docker-compose.without-nginx.yml を重ねて起動します(2026年10月7日に公式ドキュメントで確認)。
公式の必要スペックは 1〜1,000人で 1 vCPU・メモリ 2GB、1,000〜2,000人で 2 vCPU・メモリ 4GB と小さく、弊社の環境(さくらのクラウド、2コア・8GB・SSD 40GB)は十分すぎる構成です。起動直後・利用者0で計測しました。
| 項目 | 実測値 |
|---|---|
| コンテナ数 | 2(mattermost-enterprise-edition:11.7.0/postgres:18-alpine) |
| Docker イメージ | Mattermost 本体 1.83GB |
| イメージ取得 | 29秒 |
| 起動時間 | up -d の戻りは36秒。API(/api/v4/system/ping)が OK を返すまで 51秒 |
| 起動直後のメモリ(Mattermost 分) | 約0.25GB(全体 720MB − 素の状態 約0.5GB。コンテナ別では mattermost 343MB・postgres 79MB) |
| ディスクの増加 | 21GB → 23GB(約2GB 増) |
同じサーバーで測った Dify は起動直後に約2.1GB、イメージ約11.5GB でした。Mattermost は桁が1つ小さいので、2GB クラスの VPS や他サービスとの同居でも動かせます。ただし利用者0の値で、ファイル添付が増えればディスクは伸びます。
実機でつまずいた3点:ポートの全公開、ボリュームの権限、英語の初期設定
| つまずき | 何が起きたか | 対処 |
|---|---|---|
| ポートが外に全公開される | NGINX なしの公式 compose は ${APP_PORT}:8065 と通話用の ${CALLS_PORT}(TCP・UDP)を全公開する。弊社は UDP だけ直して TCP を見落とし、8443/tcp が数分間外に開いていた |
127.0.0.1:8065:8065 のように127.0.0.1 に限定し、リバースプロキシ経由で使う。TCP と UDP の2行とも直す |
| 起動に失敗する | ボリューム用のディレクトリを作らずに起動すると、権限エラーで立ち上がらない | 公式手順どおり mkdir -p ./volumes/app/mattermost/{config,data,logs,plugins,client/plugins,bleve-indexes} のあと sudo chown -R 2000:2000 ./volumes/app/mattermost を実行してから起動する |
| 初期設定が英語 | アカウント作成 → 組織名 → 使うツール → メンバー招待の初期設定はすべて英語で、ブラウザの言語設定では日本語にならない | 最初に登録した利用者が自動で管理者になる。設定後に「設定 → 表示 → 言語」で日本語に切り替える |
ポートの公開範囲だけは手順書に書かれていません。Docker が公開したポートは OS のファイアウォールを素通りすることがあるため、起動前に compose の ports を必ず見てください。
Mattermostの画面は日本語になる?メニューからガイドまでほぼ完全
初期設定を終えた直後の画面は英語で、ヘッダーには「ENTRY EDITION」の表記が出ます(意味は後述)。

「設定 → 表示 → 言語」で日本語を選ぶと、左のメニュー、新規利用者向けのガイド「Mattermostへようこそ」、通知許可のバナー、投稿欄までほぼ完全に日本語になります。日本語の投稿も問題なく表示されました。

英語のまま残るのは既定のチャンネル名(Town Square/Off-Topic)と「ENTRY EDITION」くらいで、利用者に英語を読ませる場面はほぼありません。
Mattermostの日本語検索が当たらない問題と、確認できた対策
画面が日本語でも、検索は別でした。「検証用の投稿です。日本語の表示と検索を確認しています。」という投稿に対する結果は次のとおりです。
| 検索した語 | 結果 |
|---|---|
| 検証/日本語/投稿です | いずれも0件 |
| 検証*(前方一致) | 1件 |
| 検証用の投稿です(文のかたまり) | 1件 |
| verification(英語の投稿に対して) | 1件 |
| 区切り(「空白 区切り テスト 投稿」という投稿に対して) | 1件 |

既定の検索は PostgreSQL の全文検索で、空白で単語を区切る仕組みです。普通に書いた日本語の文は句点までが1語として扱われ、途中の語では見つかりません。「あの件どこに書いたっけ」を探せないチャットは Slack の代わりになりません。
公式の変更履歴とドキュメントで、対策として次の3つを確認しました(2026年10月7日確認)。
- 機能フラグで CJK 検索を有効にする:v11.5 で PostgreSQL 向けの CJK(中国語・日本語・韓国語)投稿検索が追加され、環境変数
MM_FEATUREFLAGS_CJKSEARCHで有効化できる。v11.9 からは既定で有効。11.7.0 は既定では無効のため上の結果になった。弊社で実際にMM_FEATUREFLAGS_CJKSEARCH=trueを docker-compose.yml の mattermost サービスの environment に追加して再起動したところ、「検証」「日本語」「東京」「請求書」などが既存の投稿も含めてすべて1件ずつ当たるようになりました(再インデックスは不要、応答11ms)。注意点は入れる場所で、最初に postgres 側の environment に書いてしまい効きませんでした。 - v11.9 以降にする:
.envのMATTERMOST_IMAGE_TAGを変えれば新しい版を使える(2026年10月7日時点の最新安定版は 11.11.1) - Elasticsearch/OpenSearch を使う:有料プラン向け。v11.6 で CJK 解析プラグインを使う設定
EnableCJKAnalyzersが追加された。公式は投稿が250万件を超えたら Elasticsearch か OpenSearch を推奨
国内の技術者の検証記事(Zenn、2026年9月更新)では、このフラグは全文検索インデックスを使わない部分一致検索への切り替えで、投稿が増えると検索が重くなる可能性が指摘されています。なお、以前の対策だった Bleve 検索は v11.0 で廃止され、古い記事の手順は使えません。
Mattermostのエディションとライセンス:Entry・Team Edition・Enterprise の違いと商用利用
公式 Docker 構成の .env は既定で MATTERMOST_IMAGE=mattermost-enterprise-edition です。公式ドキュメントによれば、Enterprise Edition はライセンスを入れずに無料モード「Entry」として動き、有料機能を含む代わりにサーバー全体の制限があります(2026年10月7日確認)。
| エディション | 費用 | 主な条件 |
|---|---|---|
| Entry(Enterprise Edition のライセンスなし) | 無料 | Enterprise Advanced の機能が使えるが、メッセージ履歴は全体で 1万件まで(古い投稿は残るが閲覧・検索できない)。50人未満向け。サポートはコミュニティのみ |
| Team Edition | 無料 | MIT ライセンスのオープンソース版。250人未満向けで SSO なし。.env で mattermost-team-edition を指定する |
| Professional/Enterprise/Enterprise Advanced | 有料 | SSO・コンプライアンス・Elasticsearch・商用サポートなど。価格は公式サイトに非公開で、営業への問い合わせ |
Slack の代わりに履歴を残したいなら、Entry の1万件制限は致命的です。無料で使い続けるなら Team Edition を明示的に選ぶのが正解です。弊社は既定のまま立てたため Entry になりましたが、手順は同じです。
ライセンスは、GitHub の LICENSE.txt によると、公式が配布するコンパイル済みバイナリは MIT、ソースコードから自分でビルドする場合は AGPL v3 か商用ライセンスのどちらか、という構成です(2026年10月7日確認)。OSSMatch では「オープンコア」として AGPL-3.0 で表示しています。社内チャットとして自社で使う分には追加費用はかかりません。
Slackと比べて費用はどうなるか:人数別の年額とVPS代
Slack の日本の公式料金ページ(2026年10月7日確認)では、Pro は年払いで1人あたり月額 925円(月払いは 1,050円)、Business+ は年払いで 1,920円(月払いは 2,160円)です。無料プランは履歴が90日間です(税の表記なし)。Mattermost はサーバー代だけで、目安としてさくらのVPS の 4GB プラン(仮想4コア)が石狩で月額 3,520円(税込)、8GB プランが 7,040円です。
| 人数 | Slack Pro(年払い)の年額 | Slack Business+(年払い)の年額 | Mattermost(VPS 4GB)の年額 |
|---|---|---|---|
| 5人 | 55,500円 | 115,200円 | 42,240円(人数によらず一定。8GB なら 84,480円) |
| 10人 | 111,000円 | 230,400円 | |
| 30人 | 333,000円 | 691,200円 | |
| 50人 | 555,000円 | 1,152,000円 |
計算は「1人あたり月額 × 12 × 人数」です。5人を超えたあたりから Mattermost のほうが安く、30人なら年に約29万円の差です。ただし運用する人の時間は入っていません。バックアップとバージョンアップを誰かが引き受ける前提です。
Mattermostのセルフホストが向いている人・向いていない人、まとめ
| 向いている | 向いていない |
|---|---|
| チャットのデータを自社サーバーに置きたい。Docker と SSH の基本操作ができる人がいる | サーバーの面倒を見る人がいない。管理者が初期設定の英語を読めない |
| 5〜50人で Slack の有料プランの費用を抑えたい | 日本語の検索を重視するのに、フラグの有効化や版の選択を確認せずに既定のまま使う |
| Team Edition を選んで履歴を無制限に残したい | 既定の Entry のまま使い、1万件の履歴制限に気づかない |
弊社の結論は「サーバーの負担は心配いらない。決め手は日本語検索とエディションの選択」です。
- 立てる前に
.envで Team Edition を選ぶ(既定の Entry は履歴1万件まで) - 立てたあとに日本語で検索して当たるか試す。当たらなければ
MM_FEATUREFLAGS_CJKSEARCHか 11.9 以降 - 公式 compose のポートは 127.0.0.1 に限定する(TCP と UDP の両方)
Mattermost の概要と、Slack の代わりになる他の OSS は OSSMatch にまとめています。
「自社で持つべきか判断したい」「日本語検索の設定まで含めて任せたい」という場合は、合同会社Edel Hearts のOSS導入支援でご相談を受け付けています。弊社自身がポートの公開でひやりとした分、見落としやすい点を率直にお伝えします。
出典
- Mattermost Docs:Deploy Mattermost using Containers(手順・chown・NGINX の有無)(2026年10月7日確認)
- mattermost/docker の env.example(既定イメージ enterprise-edition、タグ 11.7.0、APP_PORT 8065、CALLS_PORT 8443)(2026年10月7日確認)
- docker-compose.without-nginx.yml(公開ポートの記述)(2026年10月7日確認)
- Mattermost Docs:Software and hardware requirements(1〜1,000人で 1 vCPU・2GB など)(2026年10月7日確認)
- Mattermost Docs:Editions and Offerings(Entry の制限、Team Edition の条件)(2026年10月7日確認)
- Mattermost v11 Changelog(v11.5 の CJK 検索フラグ、v11.6 の EnableCJKAnalyzers、v11.9 で既定有効、11.11.1 のリリース日)(2026年10月7日確認)
- Mattermost Docs:Chinese, Japanese and Korean search(MM_FEATUREFLAGS_CJKSEARCH、250万投稿での Elasticsearch 推奨)(2026年10月7日確認)
- Mattermost Docs:Removed and Deprecated Features(v11.0 で Bleve 検索を廃止)(2026年10月7日確認)
- mattermost/mattermost の LICENSE.txt(バイナリは MIT、ソースは AGPL v3 または商用)(2026年10月7日確認)
- Mattermost v11.7.0 リリース(2026年5月6日公開、2026年10月7日確認)
- Zenn:Mattermost 11 の PostgreSQL 日本語全文検索(CJK フラグの仕組みと性能面の指摘)(2026年9月9日更新、2026年10月7日確認)
- Slack 料金プラン(日本)(2026年10月7日確認)
- さくらのVPS 料金・仕様(4GB プラン 3,520円/月、8GB プラン 7,040円/月、税込・石狩)(2026年10月7日確認)
- 実測値:弊社の検証サーバー(さくらのクラウド、2コア・8GB・SSD 40GB)で2026年10月7日に計測。メモリは起動直後・利用者0の全体使用量 720MB から、同居していた Supabase 停止後の素の値 0.5GB を差し引いたもの
▶ 同じ環境で測った他の OSS は OSS 実機検証シリーズの一覧 にまとめています。