Blueskyが独自にデータをホストする仕組み「PDS(Personal Data Server)」をリリースしたとのことなので、早速サーバーにPDSをインストールして使ってみました。

Bluesky: An Open Social Web - Bluesky

https://bsky.social/about/blog/02-22-2024-open-social-web

bluesky-social/pds: Bluesky PDS (Personal Data Server) container image, compose file, and documentation

https://github.com/bluesky-social/pds

一般的なSNSでは投稿、いいね、フォローなどのデータはSNSの運営会社によって保存されており、その会社のサービスの使用をやめたい場合はSNS自体をやめる事を意味していました。一方Blueskyでは2024年2月22日よりユーザーが独自の場所にデータを保存できる仕組み「PDS」が登場しており、Blueskyにデータを預けることなくSNS部分のみを使用することが可能となっています。

ついにBlueskyで独自サーバーをホストできるFederation機能が始まる、Mastodonとの違いは? - GIGAZINE



PDSは記事作成時点ではまだアーリーアクセス版のみの提供となっており、将来への互換性の保証はないとのこと。さらに、Blueskyのネットワークに参加するためにDiscordから自分のサーバーの情報を登録する必要があります。Discordの参加アドレスは「README.md」の「Self-hosting PDS」の項目に存在しています。



Discordに参加できたら、「requests」チャンネルの「Open a ticket!」をクリック。



PDSを設置する予定のアドレスとメールアドレスを入力して「送信」をクリックします。



BOTが下記のように返信すれば申請完了です。



個別のチャンネルが開きチケットの内容についてやりとり可能になりますが、申請だけであれば特に操作する必要はありません。なお、この申請については将来的には不要になる予定となっています。



申請が承認されるまでの間に作業を進めます。サーバーの推奨スペックは下記の通り。今回はこの推奨スペック通りのサーバーにPDSを設置していきます。

OSUbuntu 22.04メモリ2GB以上CPUコア数2+ストレージ40GB以上のSSDアーキテクチャamd64、arm64

先ほど申請したアドレスとサーバーのIPをDNSに登録します。AWSのRoute53を使用する場合は下図の通り。今回は「pds」というサブドメインにPDSを設置することにしました。



続いて、「*.pds」にも同じIPアドレスを登録し、「レコードを作成」をクリック。これでDNSの設定は完了です。



サーバーにSSHで接続し、下記のコマンドでPDSのインストーラーをダウンロード。

wget https://raw.githubusercontent.com/bluesky-social/pds/main/installer.sh

そして下記のコマンドで実行します。

sudo bash installer.sh

インストール中、サーバーのアドレスと管理者のメールアドレスを求められるので入力。



「PDS installation successful!」と表示されてインストールが完了しました。また、TCPの80番と443番ポートを開放するよう指定されるので外部からアクセスできるようにファイアウォールを設定しておきます。



作業を進めているとDiscordで下図の通知がきました。これでBlueskyネットワークにこのサーバーが組み込まれたことになります。



続いて下記のコマンドでアカウントを作成します。

sudo pdsadmin account create

メールアドレスとハンドル名を例の形式に従って記入すると、ハンドル名・DID・Passwordが表示されました。



早速ログインを試してみます。ログインは通常のBlueskyと同じく「https://bsky.app」から行います。サインイン画面にアクセスし、「サインイン」の項目の編集ボタンをクリック。



データをホストするサービスを「カスタム」に変更し、サーバーのアドレスを入力して「完了」をクリック。



先ほど発行されたハンドル名とパスワードを入力し、「次へ」をクリックします。



ログインに成功しました。これで通常のBlueskyの体験を維持したままデータの保管場所のみを変更できたというわけです。



なお、記事作成時点ではBlueskyのアカウントをPDSに移行することはできませんが、今後数カ月以内にアカウント移行機能を安全かつ簡単に実行できるようにする予定と述べられています。