buluma.matrix-synapse-auto-deploy
matrix-org/synapseの自動デプロイ
このAnsibleロールは、任意のサーバーにすぐに使えるMatrixサーバーを自動的にデプロイします。このロールは、matrix-docker-ansible-deployのロールとは異なり、Dockerではなく、少なくともSynapseのためにPython 3の仮想環境を使用します。
サービス
このロールは、サーバー上に以下のサービスを構成します:
Synapse: matrix.orgのコア開発チームによるMatrixの「ホームサーバー」実装
Coturn: WebRTCの音声/ビデオ通話用STUN/TURNサーバー
nginx: riot.webのためのWebサーバーおよびSynapseとmxisdのためのリバースプロキシ
postgresql: Synapseとmxisdのためのデータベース
Riot: あなたのホームサーバー用に事前設定されたWeb UI
Let's Encrypt: RiotとSynapse用のTLS証明書
小さなアーキテクチャの概要
前提条件
- Git
- Ansible >= 2.6
- DNSエントリー
- Aレコード
- matrix-machine.yourdomain.tldのAレコード
- riot-webclient.yourdomain.tldのAレコード
- SRVレコード
_matrix._tcp.yourdomain.tld. 3600 IN SRV 10 5 443 matrix-machine.yourdomain.tld.
_matrix-identity._tcp.yourdomain.tld. 3600 IN SRV 10 5 443 matrix-machine.yourdomain.tld.
- Aレコード
他のホームサーバーがどのポートで通信するかを知らせるためには、このようなSRVエントリーが必要です。さらに、{{ matrix_well_known_location }}の下に.well-knownファイルが作成されます。これらのファイルをあなたのドメインのサーバーに移動するのはあなた次第です。
対応OS
- Ubuntu 18.04
- Debian 9
systemdを搭載したOSであれば、他のシステムでも正常に動作するはずです。お好きなシステムのサポート追加のためにテストし、フィードバック(またはプルリクエスト)をしてもらっても構いません。
インストール
すべての変数はroles/matrix-synapse-auto-deploy/defaults/main.ymlに定義されています。あなたのニーズに合わせて調整する必要があります。最も重要な変数については、playbook.example.ymlファイルを確認してください。
ansible-playbook playbook.example.yml --extra-vars "host=matrix.domain.com" -b -K
楽しんでください
これで、riotのWebクライアントを介して、または他のクライアントであなたのホームサーバーを指定することで、ホームサーバーに接続できるようになりました。