はじめに
Concrnt(v2)の本体は、SNSとして最低限必要な機能だけを持つ小さなサーバーです。Fediverseとの連合やBlueskyとの相互接続といった機能は、本体とは別のプロセスとして動くサービスモジュールとして提供されており、必要なものだけを後から追加できます。
このセクションでは、Docker ComposeまたはKubernetes (Helm)で構築済みのドメインに、各サービスモジュールを追加する手順を解説します。
導入できる拡張機能
| 拡張機能 | 役割 | ガイド |
|---|---|---|
| ActivityPubブリッジ | Mastodon / Misskey などFediverseとの連合 | ActivityPubブリッジを導入する |
| Blueskyブリッジ(atproto) | Bluesky(AT Protocol)との相互接続 | Blueskyブリッジ(atproto)を導入する |
| メディアサーバー(cc-media-server) | 画像などのメディアを自ドメインで管理する | Docker Composeの services.mediaserver2 を参照 |
サービスモジュールの共通の仕組み
どのモジュールも、次の3つの要素で本体と繋がります。各ガイドの手順はこの枠組みに沿っています。
- サービスアカウント — モジュールがConcrntに書き込むためのアカウントです。
conctl operation create-accountで作成し、その秘密鍵をモジュールの設定に渡します。モジュールごとに別のアカウントを用意してください。 - ゲートウェイへの登録 — 本体の
config.yamlのservices:にモジュールを登録すると、本体のゲートウェイが該当パスをモジュールへ転送します。モジュールのポートを直接インターネットへ公開する必要はなく、公開してはいけないモジュールもあります。Helmチャートではモジュールを有効化すると自動で登録されます。 - 本体と共有するデータベースとRedis — PostgreSQLは本体と共有でき(テーブルはモジュールごとのプレフィックスで分離されます)、Redisは本体のイベントを購読するため必ず本体と同じインスタンスを指定します。
v1からの移行
すでにv1系で ccworld-ap-bridge を運用している場合、新しいActivityPubブリッジにはフォロー関係や鍵を引き継ぐ移行手順があります。新規に導入するのではなく、v1からv2への移行の各ガイド内にあるActivityPubブリッジ移行ステップに従ってください。