fix
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
Rikuoh Tsujitani 2023-10-01 12:32:58 +09:00
parent 8c5d2c3dfc
commit ed943deb79
Signed by: riq0h
GPG key ID: 010F09DEA298C717

View file

@ -7,9 +7,9 @@ tags: ['tech']
![](/img/212.png)
先日のDiscord障害は週末夜を電脳空間で過ごそうと決めていた人々を絶望の淵に叩き込んだ。きょうびオンラインゲームをやるとなったらボイスチャットによるコミュニケーションはほぼ必須であり、とりわけDiscordは当該の分野で支配的な地位を占めている。なお、僕は一人で黙々とCounter-Strike2のランクマッチを回していたのであまり関係がなかった。静謐。
先日のDiscord障害は週末夜を電脳空間で過ごそうと決めていた人々を絶望の淵に叩き込んだ。きょうびオンラインゲームをやるとなったらボイスチャットによるコミュニケーションはほぼ必須であり、とりわけDiscordは当該の分野で支配的な地位を占めている。なお、僕は一人で黙々とCounter-Strike2のランクマッチを回していたので関係がなかった。静謐。
しかし他に寄辺のない異常独身男性が集結せしDiscordサーバを運用している立場としては、一つのサービスの死がコミュニケーションの喪失を引き起こしかねない現状はまったく好ましくない。以前から代替ツールを模索してはいたが、企業運営の類似サービスでは面白みに欠けるし、かといってセルフホスト型だと「そのためだけのアカウント」が余計に増えてしまう。なにしろ従来の形式ではサーバごとに別のアカウントを作らなければならないのだ。
しかし他に寄辺のない異常独身男性が集結せしDiscordサーバを運用している立場としては、一つのサービスの死がコミュニケーションの喪失を引き起こしかねない現状はまったく好ましくない。彼らは他のSNSをあまり使わない。以前から代替ツールを模索してはいたが、企業運営の類似サービスでは面白みに欠けるし、かといってセルフホスト型だと「そのためだけのアカウント」が余計に増えてしまう。なにしろ従来の形式ではサーバごとに別のアカウントを作らなければならないのだ。
そこで、ようやく目を付けたのがMatrixだった。技術系のコミュニティで広く使われていたり、やたら熱心な信奉者を見かけるこのプロトコルは、分散型ネットワークを形成するため一つのアカウントで他のサーバに接続することができる。友人たちに作らせるアカウントがプロトコルの発展次第では無駄にならないと説得しうる余地が大きい。
@ -222,7 +222,7 @@ server {
Cloudflareユーザでオリジンサーバ証明書を設定していない人は[この記事](https://riq0h.jp/2023/07/22/204725/)の冒頭を参考に取得することを強くおすすめしたい。他に特筆すべき点はHTTPSポートの443番以外に8448番ポートをlistenしているところで、これは他のサーバと通信する際に用いられている。
同様に、`.well-known/*`の記述部分は後述の連合機能を正常に動作させるための認証として働く。すべての作業が終わった後に[Matrix Federation Tester](https://federationtester.matrix.org/)にドメインを入力すると前もって状態を調査できる。必須の作業工程ではないものの、障害発生時のトラブルシューティングにはなにかと役立つ。
同様に、`.well-known/*`の記述部分は後述の連合機能を正常に動作させる認証として働く。すべての作業が終わった後に[Matrix Federation Tester](https://federationtester.matrix.org/)にドメインを入力すると前もって状態を調査できる。必須の作業工程ではないものの、障害発生時のトラブルシューティングにはなにかと役立つ。
`nginx -t`で構文エラーの有無を確認して、`systemctl restart nginx`で再起動を行う。ここまでの手順に誤りがなければ設定したドメインからElementのスタートページにアクセスできるはずだ。ただし、`homeserver.yaml`で登録を無効化しているため、最初のユーザ登録はCLIで実施する。
@ -236,8 +236,8 @@ docker-compose exec synapse register_new_matrix_user -c /data/homeserver.yaml ht
## 諸機能の確認
最後に、Matrixプロトコルの醍醐味である連合機能を検証する。「ルーム」の横のボタンから前述の`servers`に列挙したサーバに属するルームを検索できる。ルームへの初回参加には仕様上かなりの時間がかかるが、参加後はDiscordやSlackとほとんど同じように使える。
設計思想の違いとして、これらはサーバと各ルームが半強制的に連動しているのに対して、Matrixはルーム単位での参加が可能な点が挙げられる。これによりユーザは単一のサイドパネル上で別のサーバのルームを一覧化できる。分散型ネットワークによって構成されている割にサーバをあまり意識せず横断可能なのは素直に使い勝手に優れていると感じた。
設計思想の違いとして、これらはサーバと各ルームが半強制的に連動しているのに対して、Matrixはルーム単位での参加が可能な点が挙げられる。これによりユーザは単一のサイドパネル上で別のサーバのルームを一覧化できる。分散型ネットワークによって構成されている割にサーバを意識せず横断可能なのは素直に使い勝手に優れていると感じた。
一方、DiscordやSlackでは特定のサーバの一つのルームが目当てでも、UIの都合上、サーバ単位での参加が前提なので中央集権型の割に管理が手間と感じることが少なくない。それに引き換え、Matrixは分散型でありながら高度な透過性をもたらすエコシステムを実現している。
企業運営にしては良心的な料金形態を持つDiscordやSlackの牙城を崩すのは難しいかもしれないが、何者にも支配されない自由な私的空間として、あるいは単純に避難所としてこうしたホームサーバを所有する意義は相応にあると思われる。なんにせよ、無意識に受け入れていた仕様を見直す上で競合の存在は必要不可欠に違いない。
企業運営にしては良心的な料金形態を持つDiscordやSlackの牙城を崩すのは難しいかもしれないが、何者にも支配されない自由な私的空間ないしは単純に避難所としてこうしたホームサーバを所有する意義は相応にあると思われる。なんにせよ、無意識に受け入れていた仕様を見直す上で競合の存在は必要不可欠に違いない。