1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

BlueskyのPDS移設方法

Last updated at Posted at 2024-03-03

はじめに

Blueskyのself-hosting PDS (Personal Data Server)を別サーバーへ移設する方法をこのページに書きます。ただし、この方法ではダウンタイムがあります。また、公式の手順ではなく、内容を保証できません。

以降では、移設前のサーバーを旧サーバー、移設後のサーバーを新サーバーと記載します。

環境は以下の通りです。

要約

旧サーバーの/pdsを新サーバーへ転送します。

詳細

旧サーバーでの作業

旧サーバーのpdsを止めます。この時点で旧サーバーが外部からリクエストを受け付けなくなります。

$ sudo systemctl stop pds

旧サーバーの/pdsを圧縮します。ここではtar.gzにしていますが、別形式でも構いません。

$ cd /
$ sudo tar czf pds.tar.gz pds
$ sudo chown ${USER}.${USER} pds.tar.gz

scpコマンドなどを使って圧縮ファイルpds.tar.gzを手元に転送します。新サーバーを起動済みであれば、直に新サーバーへ転送しても構いません。また、新旧サーバーでpdsが起動していない状態であれば、圧縮せずにそのまま新サーバーに転送してもよいかもしれません。

旧サーバーを止めます。

$ sudo shutdown -h now

新サーバーでの作業

新サーバー未起動であれば、新サーバーを起動します。

インストーラーinstaller.shを使って、新サーバーにpdsなどをインストールします。

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

インストール後、新サーバーでcurl http://localhost:3000などを実行して動作確認します。

以降の作業で/pdsの中身を上書きする前に、新サーバーで一旦pdsを止めます。

$ sudo systemctl stop pds

圧縮ファイルpds.tar.gzを新サーバーに未転送であれば、新サーバーへ転送します。

新サーバーで転送したファイルを展開し、installer.shの作成したファイルを上書きします。

$ cd /
$ sudo tar xf pds.tar.gz

新サーバーでsqliteファイルなどを参照して、ファイルが上書きされたことを確認します。例えば、以下の操作により、PDSに属するアカウント情報が出力されるはずです。

$ sudo sqlite3 /pds/account.sqlite
SQLite version 3.37.2 2022-01-06 13:25:41
Enter ".help" for usage hints.
sqlite> select * from account;

上書き確認ができたら、新サーバーで改めてpdsを起動します。

$ sudo systemctl start pds

新サーバーで動作確認をします。

$ curl http://localhost:3000
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?