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実装もあります。例えば、以下があります。
- Tranquil PDS(Rust)
- Cocoon(Go)
リレー
独自のリレーをホストすることは可能ですが、帯域幅を大量に消費します。リレーは通常、ATプロトコルネットワーク上のすべてのPDSやリポジトリからデータを複製するフルネットワークモードで動作します。ただし、Sync 1.1以降のリレーはネットワークデータのアーカイブを保持する必要がないため、ストレージを大量に消費することはありません。
いくつかの異なるリレー実装があります。
- リファレンス実装(Go)
- Blacksky Relay(Rust)
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リポジトリを参照してください。貢献は歓迎します!