Self-hosting PDSを建てる
注意事項
準備
サーバーを用意
サーバー要件OS | Ubuntu 22.04 |
CPU | 2コア以上 |
メモリ | 2GB以上 |
ストレージ | 40GB以上のSSD |
アーキテクチャ | amd64, arm64 |
サーバーにはIPv4のアドレスが必要
80/tcpと443/tcpのポートを開けておく(80→443のリダイレクトはCaddyがやってくれる)
DNSを設定する
example.com
や random.example.com
や test123.example.com
でサーバーのIPアドレスが返って来ればOK
自動インストール (Ubuntu 20.04/22.04 or Debian 11/12)
$ wget https://raw.githubusercontent.com/bluesky-social/pds/main/installer.sh
$ sudo bash installer.sh
あとは画面の指示に従ってドメインやうとDockerの起動まで行われる
手動インストール (Ubuntu 22.04)
割愛
PDS設定
自動インストールすると /pds/
以下に必要なファイルが作られる
PDS環境変数
pds.envPDS_HOSTNAME=PDSサーバーのドメイン
PDS_JWT_SECRET=JWTの暗号鍵?
PDS_ADMIN_PASSWORD=Adminアカウントのパスワード
PDS_REPO_SIGNING_KEY_K256_PRIVATE_KEY_HEX=リポジトリの署名鍵?(初期設定から変更不可)
PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX=PLCの鍵?(初期設定から変更不可)
PDS_DB_SQLITE_LOCATION=SQLiteのファイル
PDS_BLOBSTORE_DISK_LOCATION=添付ファイルの保存先
PDS_DID_PLC_URL=連合PLCのURL(sandbox環境から変更禁止)
PDS_BSKY_APP_VIEW_ENDPOINT=連合AppViewのURL(sandbox環境から変更禁止)
PDS_BSKY_APP_VIEW_DID=連合AppViewのDID(sandbox環境から変更禁止)
PDS_CRAWLERS=連合BGSのURL(sandbox環境から変更禁止)
以下、installer.shで設定されない変数
PDS_INVITE_REQUIRED
:招待コードが有効か
初期値がfalseのため、trueにしないと招待コードなしでアカウントが作成できるので注意
現在はデフォルトで true
となるように修正されています
有効にした場合は com.atproto.server.createInviteCode
へadminでアクセスして招待コードを発行する
PDS_EMAIL_FROM_ADDRESS
:メール送信者のメールアドレス
PDS_EMAIL_SMTP_URL
:SMTPサーバーを
URL形式で設定
上記2つを設定しないとアカウント削除やパスワード再設定のメールが送信されない