セルフホスティング

Atmosphereスタックの各コンポーネントをセルフホストするためのリソース

Atmosphereスタックのほとんどの部分はデプロイメントがサポートされています。アプリケーションレベルのインフラ(AppViewやリレーといったもの)を提供するか、データレベルのインフラ(PDSやそれに推するもの)を提供するかによって、セルフホストの難易度は異なります。

PDS

インストール手順、Dockerイメージ、FAQを含むPDSのセルフホスティング用リソースは、PDSのGitHubリポジトリで入手できます。自分のPDSをホストしたい場合はここから始めてください。

PDSのDockerイメージには、管理機能を実行するためのコマンドラインツールgoatが含まれています。

アカウントをあるPDS(例:BlueskyがホストするPDS)から別のPDSに移行する場合は、アカウント移行を参照してください。

セルフホストしたPDSのドメイン名を変更する必要がある場合は、次の操作を行ってください。

  • ホストしているアカウントのPLCエントリを変更してください。boatのようなコミュニティ製のインターフェースを利用できます。
  • 他のサーバーでやるようにDNS設定を更新し、その後pds.env内のドメイン名を変更してください。

PDSのスケーリングやセキュリティ強化に関する指針については、本番環境への移行を参照してください。

Blueskyは多くのPDSの前に「entryway」を置いて運用しています。この実装に関する情報はentrywayを参照してください。

コミュニティによるPDS実装もあります。例えば、以下があります。

リレー

独自のリレーをホストすることは可能ですが、帯域幅を大量に消費します。リレーは通常、ATプロトコルネットワーク上のすべてのPDSやリポジトリからデータを複製するフルネットワークモードで動作します。ただし、Sync 1.1以降のリレーはネットワークデータのアーカイブを保持する必要がないため、ストレージを大量に消費することはありません

いくつかの異なるリレー実装があります。

Tap

TapはATネットワークから既存のレコードを同期し、その後firehoseから新しいレコードを継続的に受信するために使用されます。Tapのデプロイ方法についてはTapのreadmeを参照してください。

また、Railway向けのTapデプロイのクイックスタートガイドも提供しています。

AppView

独自のAppViewを作成・ホスティングすることは可能ですが、リソースを大量に消費します。自身のデータリポジトリへのアクセスを個人的に制御する手段であるPDSのホスティングと比較すると、AppViewのホスティングはアプリケーションレベルのインフラを提供するために行うものです。通常は必要なLexiconに関するネットワーク上の全データを複製することが最初の作業になります。始めるには同期のドキュメントや、後述のTapセクションを参照してください。

Atmosphereアプリを設計・運用する際には他にも多くの判断事項があります。このガイドは推奨事項の包括的なリストではありません。

  • アプリのサインアップフローでは、ユーザーがログインまたはアカウント作成を行う必要があります。Atmosphereを初めて利用するユーザー(まだPDSの概念を知らない可能性がある)に対してアプリ内で直接サインアップさせるため、アプリと一緒にPDSもホストすることを一般的に推奨します。PDSとAppViewは異なるドメイン名を使用してください。

Ozone

Ozoneの使用を参照してください。

デプロイレシピ

公式ツールを使用しない、または異なる環境をサポートするコミュニティ提供のデプロイソリューションについては、deploy-recipesのGitHubリポジトリを参照してください。貢献は歓迎します!