generated at
Self-hosting PDSを建てる

注意事項


準備
サーバーを用意
サーバー要件
OSUbuntu 22.04
CPU2コア以上
メモリ2GB以上
ストレージ40GB以上のSSD
アーキテクチャamd64, arm64

サーバーにはIPv4のアドレスが必要
80/tcpと443/tcpのポートを開けておく(80→443のリダイレクトはCaddyがやってくれる)
DNSを設定する
DNS設定(ドメインがexample.com、サーバーのIPアドレスが12.34.56.78のとき)
NameTypeValueTTL
example.comA12.34.56.78600
*.example.comA12.34.56.78600新規アカウント(aaa.example.com)のために必要
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の環境変数と同じものもあるが、PDS_が頭につくようになっている
pds.env
PDS_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つを設定しないとアカウント削除やパスワード再設定のメールが送信されない