北欧の観測所の窓からオーロラが見える中、NordBastion のホッキョクグマのマスコットがエンドツーエンド暗号化メッセージを表す浮かぶ吹き出しアイコンと、輝くラインで繋がったシアンのノードグローブのフェデレーショングラフを指揮している
ハウツー · 実践2時間·2026年更新

VPS 上で Matrix をセルフホストする。
Synapse + Element。フェデレーション。エンドツーエンド暗号化。

Matrix は、オープンプロトコル時代にチャット向けに設計されていたらメールがどのように見えたかです。ホームサーバーとして Synapse、クライアントとして Element、ストアとして PostgreSQL、フロントドアとして Caddy — そして誰も特定の所有者を持たないフェデレーションルームグラフ。

要点
  • 01

    Synapse は2026年における正しいデフォルトホームサーバーです — 本番環境で実証済みの、機能が揃ったリファレンス実装。Conduit と Dendrite はより限定的なユースケースに有効です。

  • 02

    初日から PostgreSQL に切り替えてください。デフォルトの SQLite はテスト専用で、少数のユーザーを超えると失敗します。メディアアップロード用のディスクを計画してください — フェデレーションルームはすぐに蓄積します。

  • 03

    登録クローズはデフォルトの安全な設定です。公開登録は実際のモデレーション作業を伴います。引き受けるつもりがある場合にのみ有効にしてください。

第1章

5文で語る Matrix。あなたが実際にデプロイするもの。

Matrix はリアルタイム通信のオープンプロトコルです。ホームサーバーはプロトコルを実行するサーバーです。ユーザーはそれぞれ1つのホームサーバーに属し、@alice:example.com として識別されます — メールと同じパターンです。ルームは会話の単位です。1つのルームは多くの異なるホームサーバーからのメンバーを持つことができ、ルーム状態はすべての参加ホームサーバーに複製されます。プライベートルームはデバイスごとのキー(Olm/Megolm)で全メッセージを暗号化するので、サーバーは暗号文のみを見ます。ネットワーク全体は、互いにルーム状態をフェデレーションするホームサーバーのグラフです。

興味深い特性:中央の権威が Matrix をシャットダウンできない(プロトコルはオープンでどこでも動作する)、異なるサーバーのユーザーが透過的に会話できる(フェデレーション)、プライベートルームには適切なエンドツーエンド暗号化がある(広告スタイルの転送中暗号化ではない)、ユーザーは自分のホームサーバーを運営することで切り替えて身元を維持できる。トレードオフは運用の複雑さ — ホームサーバーの運営は Discord へのログインより多くの作業が必要 — とプロプライエタリプラットフォームより小さな洗練されたクライアントのエコシステムです。

このガイドでデプロイするもの:Synapse(ホームサーバー)、PostgreSQL(そのデータベース)、Element Web(ブラウザクライアント、自分のドメインからホスト)、Caddy(リバースプロキシ + 自動 TLS)。オプションとしてメディアストレージバックエンドとフェデレーション検出用の well-known エンドポイント。スタック全体は2つの Docker Compose ファイルと1つの Caddy 設定です。

第2章

サイジング。Synapse はメモリ重視の形状です。

Synapse はルームごとの状態をメモリに保持しており、大きなフェデレーションルーム(例:60,000人のメンバーがいる #matrix:matrix.org)に参加すると、その状態の多くがホームサーバーに引き込まれます。その結果、ユーザーが多くのフェデレーションルームにいる場合、シングルユーザーの Synapse でも2〜3 GB の RAM を継続的に使用する可能性があります。それを念頭に計画してください。

シングルユーザー、控えめなフェデレーション。 2 vCPU、4 GB RAM、40 GB SSD。NordBastionの<a href="/ja/vps/" class="text-nord-cyan border-b border-nord-cyan/40 hover:border-nord-cyan transition">Ravelinプラン(月額$5.90)</a>は適切なサイズです。アクティブな単一ユーザーの場合、ディスクは年間約10 GBずつ増加しますので、その分の余裕を確保してください。

小チーム、5〜20ユーザー。 4 vCPU、8 GB RAM、100 GB SSD。Iron ティア($24.90/月)で余裕を持って対応できます。PostgreSQL を同じ VPS 上で実行します。データベースは余剰 RAM とディスクに収まります。

公開ホームサーバー、100人以上のユーザー。 100人以上のアクティブユーザーがいる場合、Synapse はワーカープロセス(独立したフェデレーション送信者、フェデレーション読み取り者、クライアント読み取り者ワーカー)とチューニングされた PostgreSQL の恩恵を受けます。Iron または Granite ティアがこれを処理しますが、運用の複雑さは非線形に増大します — その規模では、ソフトウェアユーザーに加えて Matrix 管理者でもあります。

ディスクの実態。 フェデレーションルームからのメディアアップロード(画像、動画、ファイル)は、Matrix フェデレーションが配信のためにメディアをローカルに引き込むため、ホームサーバーに蓄積されます。繁忙な公開ホームサーバーは週に 1 GB のメディアが増える可能性があります。Synapse の media_retention 設定により古いコンテンツを削除できます。四半期に一度確認してください。

第3章

Docker Compose インストール。Synapse、PostgreSQL、Element。

新鮮な Debian 12 VPS を起動し、3つの DNS レコードを向けます:matrix.example.com(ホームサーバーホスト名)、element.example.com(ウェブクライアント)、@alice:example.com 識別子の短縮形が欲しい場合は example.com 自体も。sudo ユーザーとして SSH 接続します。

1. Docker と Compose をインストールします。 curl -fsSL https://get.docker.com | sh — Docker Engine は Compose v2 を同じパッケージに同梱しています。

2. Synapse の設定を生成します。 mkdir -p ~/synapse/data && docker run -it --rm -v ~/synapse/data:/data -e SYNAPSE_SERVER_NAME=example.com -e SYNAPSE_REPORT_STATS=no matrixdotorg/synapse:latest generate — これが homeserver.yaml を書き出します。編集します:データベースを SQLite から PostgreSQL に変更し、メディア URL を設定し、enable_registration: false に設定して開始します(今は管理 CLI でユーザーを作成します)。

3. docker-compose.yml を作成します。 三つのサービス:postgres(postgres:16、永続ボリューム、ロケール C)、synapse(matrixdotorg/synapse:latest、~/synapse/data をマウント、postgres に依存)、element(vectorim/element-web:latest、https://matrix.example.com を指す小さな config.json をマウント)。synapse:8008 と element:80 のみ localhost にマップします。[redacted-ip] にバインドしないでください。

4. Caddy でフロントエンドを設定します。 二つの Caddyfile サイト:matrix.example.com はポート 443 と 8448(フェデレーションポート)の両方で [redacted-ip](Synapse)にプロキシします。element.example.com は [redacted-ip](Element Web)にプロキシします。Caddy は Let's Encrypt 証明書を自動的に取得します。

5. フェデレーション検出(.well-known)。 example.com 自体に2つの静的 JSON ファイルを追加します:/.well-known/matrix/server は {"m.server": "matrix.example.com:443"} を返し、/.well-known/matrix/client は {"m.homeserver": {"base_url": "https://matrix.example.com"}} を返します。これにより短縮形の識別子 @alice:example.com が正しく解決されます。federationtester.matrix.org のフェデレーションテスターで確認してください。

6. 最初のユーザーを作成します。 docker exec -it synapse register_new_matrix_user -u alice -p <password> -a -c /data/homeserver.yaml http://localhost:8008 — 管理者アカウントを作成します。https://element.example.com からログインしてください。

第4章

Element、ブランディング、登録ポリシー。後から変えにくい決断。

Element の設定。 Element Web は、ホームサーバーを指すconfig.json を読み取り、デフォルトテーマ、ブランディング、新規アカウントの「提案ルーム」リストを設定します。default_server_config.m.homeserver.base_url を https://matrix.example.com に、brand をプロジェクト名に設定し、matrix.org を提案する brand_url フィールドを無効にします。新規ユーザーは他のサーバーではなく、あなたのサーバーを指した Element Web に着地します。

登録ポリシー。 三つのモード:クローズ(管理者のみが CLI でユーザーを登録できる。最もクリーンなモデレーション姿勢)、トークンベース(管理 API でregistration トークンを生成して共有する。小グループに適している)、オープン(誰でも登録できる。モデレーションツールで公開ホームサーバーを運営するつもりがある場合のみ有効にする)。クローズから始め、理由がある場合にのみ緩和してください。

フェデレーションブロックリスト。 Synapse は federation_domain_whitelist(許可リストのみ)と管理 API 経由のサーバーごとのブロックをサポートしています。ほとんどの公開ホームサーバーでは、デフォルトは「すべてとフェデレーション」で、必要に応じて悪用サーバーをリアクティブにブロックします。標的にされた場合、Mjolnir ボットがこれを自動化します。

バックアップ。 PostgreSQL の毎晩のダンプ + ~/synapse/data の tar ボール、rclone 経由でオフサーバーの第2 VPS または B2 バケットに送信。両方が必要です。データベースはルームの状態とアカウントで、データディレクトリには署名キーとメディアが含まれます。他のバックアップと同様に、四半期ごとに復元テストを行ってください。

第5章

モデレーションの現実。セルフホスティングが実際に意味すること。

Matrix ホームサーバーを運営することは、ホストがサーバーの動作に責任を持つことを受け入れることを意味します。プライベートな招待制ホームサーバーでは、その責任は小さく — すべてのユーザーを知っています。公開ホームサーバーでは、責任はユーザーベースとともに拡大します。

受信の悪用。 フェデレーションされた公開ルームは、悪用の調整、画像の大量投稿、ハラスメントに巻き込まれる可能性があります。Synapse は、ユーザーをBANする(全ルーム対象)、ホームサーバーをブロックする(それ以上のフェデレーションなし)、サーバーにルームを退出させる管理 API エンドポイントを公開しています。Mjolnir ボットはこれらをモデレーションルームのワークフローにまとめています。Draupnir フォークはその活発にメンテナンスされている後継です。

アウトバウンドの悪用。 侵害されたユーザーアカウントはフェデレーションルームに有害なコンテンツを投稿し、ネットワーク全体におけるサーバーの評判を傷つける可能性があります。二つの対策:ユーザーごとのレート制限(Synapse のデフォルトのレート制限は妥当です)と、新規アカウントへのメール認証の要求(自動登録のハードルを上げます)。

法的な姿勢。 EU では、インフラプロバイダーの役割は強力な仲介者責任の保護を与えます(e コマース指令第14条、DSA 第6条)— 通知と削除に応じる限り、ユーザーコンテンツについて責任を負いません。Nordic 管轄区域はこれを明示的な憲法上の報道の自由の保護でさらに強化しています。仲介者保護のない管轄区域で運用される同じホームサーバーは運用上リスクが高くなります。それに応じてホストの場所を選んでください。

安全なデフォルト。 招待制登録、リアクティブブロック付きフェデレーション有効、Mjolnir / Draupnir はインストール済みだが必要になるまで未使用、ホームサーバーのウェブサイトに明確な利用規約を掲載。その姿勢で95%のオペレーターはさらなる努力なしに対応できます。

第6章

ホストが重要な理由。暗号化はコンテンツを保護し、ホストはメタデータを保護します。

Matrix の E2EE はメッセージ本文を保護します — サーバーはプライベートルームの暗号文のみを保持します。保護されないのはメタデータです:どのホームサーバーが互いにフェデレーションしているか、どのユーザーがどのルームにいるか、いつオンラインか、どのくらいの頻度でメッセージを送るか、使用デバイスは何か。そのメタデータグラフはホームサーバーとフェデレーション先のホームサーバーに存在し、技術的に暗号化層の届かないところにあります。

KYC に紐付いた VPS で動作するホームサーバーは、メタデータグラフを運営者の法的身元に結び付けます。ホストへの召喚状は、暗号化されたデータベースだけでなく、@alice:example.com 識別子から実名へのリンクも取得します。暗号化は維持されていますが、メタデータ層は開かれています。

NordBastionのスタンスはその逆です:<a href="/ja/doctrine/" class="text-nord-cyan border-b border-nord-cyan/40 hover:border-nord-cyan transition">KYC不要の登録</a>、暗号通貨による支払い、北欧の憲法的管轄区域。ホームサーバーはあなたのものです。ホームサーバーから名前へと紐付ける経路は存在しません。ディスクに触れる法的体制には明示的な報道自由の保護があります。この組み合わせはMatrix自体のセキュリティモデルと一致しており——暗号化コンテンツ層もメタデータ運用層も、どちらも守られています。

FAQ · Matrix のセルフホスト

質問、回答済み。

2026年に Matrix ホームサーバーを運用する際に生じる8つの質問。

Matrix とは何ですか?Discord や Slack とどう違いますか?

Matrix はフェデレーションされたオープン標準のリアルタイム通信プロトコルです — チャット版の SMTP と考えてください。誰でもホームサーバー(Synapse、Dendrite、Conduit)を運営でき、異なるホームサーバーのユーザーは透過的に会話でき、プライベートルームのすべてのメッセージはデフォルトでエンドツーエンド暗号化されており、ネットワークを制御する中央企業はありません。Discord と Slack は中央集権的、プロプライエタリで、すべての会話を企業がホストします。トレードオフ:Matrix は運用上の複雑さがわずかに高く、洗練されたクライアントのエコシステムが小さいですが、あなたがすべてのバイトを所有します。

Synapse、Dendrite、Conduit — どのホームサーバーを選ぶべきですか?

Synapse はリファレンス実装で、Python で書かれており、最も機能が揃っていて本番環境で実証済みの選択肢です。メモリを多く消費します。Dendrite はより新しい Go の書き直しで、はるかに軽量ですが、いくつかの高度なモデレーション機能が欠けており、急速にギャップを縮めています。Conduit は第3の選択肢で、リソースフットプリントを最小化することに特化した Rust ホームサーバーで、安価な VPS のシングルユーザーホームサーバーに適しています。特定の理由がない限り Synapse をデフォルトとしてください — ドキュメント、モデレーションツール、サードパーティブリッジはすべて Synapse を前提としています。

Matrix ホームサーバーにはどのくらいの VPS が必要ですか?

より広い Matrix ネットワークにフェデレーションするシングルユーザー — 2 vCPU、4 GB RAM、40 GB SSD が実用的な最低ラインです。小チーム(5〜20ユーザー)— 4 vCPU、8 GB RAM、100 GB SSD。Ravelin または Iron ティアが両方のケースをカバーします。支配的なリソースは RAM(Synapse は多くのルーム状態をメモリに保持)とディスク(メディアアップロードとフェデレーションルームの履歴が継続的に増加)です。

フェデレーションを有効にすべきですか?

ほぼ常に「はい」です — それが Matrix の核心です。フェデレーションにより、ユーザーは matrix.org、mozilla.org、kde.org、その他数千のホームサーバー上の誰とでも話せます。例外:誰にもルームを発見されたくないプライベートな社内サーバー、フェデレーショントラフィックパターンが情報を漏洩させる高リスクの脅威モデル、厳格なメンバーシップ管理が必要な機密性の高い内容をホストするサーバー。後でフェデレーションを無効にすることは問題ありません。再度有効にすると、発見可能になります。

プライベートルームはデフォルトでエンドツーエンド暗号化されていますか?

はい — すべての Element クライアントは新しいダイレクトメッセージとプライベートルームに対してデフォルトで E2EE を有効にします。暗号化はクロス署名デバイス検証を伴うルームごとの Olm/Megolm です。サーバーはメッセージ本文の暗号文のみを見ます。公開ルームは設計上暗号化されていません(誰でも参加できるため、暗号化は何も保護しない)。フェデレーションされた公開ルームは誰でも見ることができます — それが公開ルームの目的です。

公開ホームサーバーを運営するモデレーションの現実は何ですか?

これは実際の作業です。公開登録を許可すると、ホームサーバーはスパムルームにフェデレーションし、悪用調整ルームに引き込まれ、フェデレーションサーバーから問題のあるコンテンツが表示されることがあります。公開ホームサーバーの運営には、サーバーレベルの BAN、敵対的サーバーのフェデレーションブロック、悪用報告への対応意欲が必要です。ほとんどのオペレーターにとって正しい姿勢は登録クローズ(招待制)です — すべてのユーザーが知人であり、悪用の表面はほぼゼロになります。

職場で Matrix ホームサーバーを Slack / Discord の代替として使用できますか?

はい — Element Server Suite と基盤となる Synapse + Element Web の組み合わせは「永続的なルーム、スレッド、リアクション、音声/ビデオハドル付きのチームチャット」の機能セットをカバーします。Slack に対する主なギャップはサードパーティの統合(プリビルドのアプリが少ない)。Discord に対する主なギャップは洗練された音声チャンネルです。両方とも使用可能ですが、多少のオペレーターの努力が必要です。磨き上げよりもデータ主権を重視する小チームには、このトレードは明らかに価値があります。

VPS を借りるホストは Matrix サーバーにとってなぜ重要ですか?

フェデレーションチャットプロトコルがホームサーバーで「誰がいつ誰と話したか」についての永続的なメタデータを生成するからです。そのメタデータは豊富です(フェデレーションルームグラフ、フェデレーションイベント、メディアアップロード)。KYC のあるホストに置くとメタデータが身元に結び付き、敵対的な管轄のホストに置くと国家行為者が強制できます。KYC なしの Nordic VPS は、ホストのメタデータの姿勢をプロトコルの暗号化の姿勢と一致させます — プライバシーの話の両半分です。

サーバーを取得する

ホームサーバー用 Nordic VPS。KYC 不要、暗号通貨払い。

Ravelin(2 vCPU、4 GB、$5.90/月)はシングルユーザーのフェデレーション Synapse をカバーします。Iron(4 vCPU、8 GB、$24.90/月)は小チーム向けの答えです。

最終レビュー · 2026-05-20 · 出典 · Synapse アップストリームドキュメント、Element 設定リファレンス、Matrix 仕様、EU DSA 第6条 · 頻度 · 年次