💭
Blueskyの開発用サーバーの起動方法
ここではBlueskyの開発サーバーの起動方法について紹介します。
とりあえず開発サーバーを起動する
開発サーバーはbluesky-social/atprotoにあって、現在の最新リリースバージョンで動かすには、次のようにすると起動できます。(Dockerを使っているようです)
$ git clone git@github.com:bluesky-social/atproto.git
$ cd atproto
$ git checkout -b 0.12.5 refs/tags/@atproto/api@0.12.5
$ make deps
$ make build
$ make run-dev-env
cd packages/dev-env; pnpm run start
> @atproto/dev-env@0.3.7 start /Users/nabeyang/src/github.com/bluesky-social/atproto/packages/dev-env
> ../dev-infra/with-test-redis-and-db.sh node dist/bin.js
[+] Running 18/18
✔ redis_test 8 layers [⣿⣿⣿⣿⣿⣿⣿⣿] 0B/0B Pulled 5.9s
✔ bca4290a9639 Pull complete 1.0s
✔ b0dd12c8e070 Pull complete 0.7s
✔ 3a71491b5fd7 Pull complete 0.8s
✔ 12253d34a72a Pull complete 1.4s
✔ 91d7b386336f Pull complete 2.3s
✔ be6981722a96 Pull complete 2.0s
✔ 4f4fb700ef54 Pull complete 2.1s
✔ 45256f652364 Pull complete 2.6s
✔ db_test 8 layers [⣿⣿⣿⣿⣿⣿⣿⣿] 0B/0B Pulled 15.4s
✔ 9b18e9b68314 Pull complete 3.0s
✔ 75aada9edfc5 Pull complete 3.0s
✔ 820773693750 Pull complete 3.3s
✔ 48f075972012 Pull complete 10.7s
✔ fdc29d7b1b8a Pull complete 3.7s
✔ 79ab9222a814 Pull complete 4.0s
✔ 85e8ef86e533 Pull complete 4.7s
✔ d20bbebbf37b Pull complete 4.7s
[+] Running 4/4
✔ Volume "dev-infra_atp_db" Created 0.0s
✔ Volume "dev-infra_atp_redis" Created 0.0s
✔ Container dev-infra-redis_test-1 Healthy 0.3s
✔ Container dev-infra-db_test-1 Healthy 0.3s
██████╗
██╔═══██╗
██║██╗██║
██║██║██║
╚█║████╔╝
╚╝╚═══╝ protocol
[ created by Bluesky ]
👤 DID Placeholder server started http://localhost:2582
🌞 Personal Data server started http://localhost:2583
🗼 Ozone server started http://localhost:49903
🌅 Bsky Appview started http://localhost:2584
🤖 Feed Generator started http://localhost:49982
🤖 Feed Generator started http://localhost:49985
iOSアプリから利用するときはhttp://localhost:2583
にxrpc APIを呼ぶと良いようです。
リリースバージョンの見つけ方について
atprotoリポジトリを見ると分かるのですが、Releases
が空になっています。Version packagesというタイトルのPRからリリースバージョンのコミットを見つけることができます。tags
から探すこともできるのですが、1つのコミットに対して複数のタグが付けられていて見つけ難いかもしれません。
$ git log --oneline
d0625be26 (HEAD -> 0.12.5, tag: @atproto/pds@0.4.16, tag: @atproto/ozone@0.1.9, tag: @atproto/dev-env@0.3.7, tag: @atproto/bsky@0.0.47, tag: @atproto/api@0.12.5) Version packages (#2422)
3424a1770 Add email auth factor tools to API (#2419)
32c97d4c8 (tag: @atproto/pds@0.4.15, tag: @atproto/ozone@0.1.8, tag: @atproto/dev-env@0.3.6, tag: @atproto/bsky@0.0.46, tag: @atproto/api@0.12.4) Version packages (#2417)
93a4a4df9 Lexicons: email auth factor (#2416)
cc090d2e5 Suggestions skeleton impl (#2403)
45981de5c getSuggestionsSkeleton lexicon (#2399)
1074f43b4 (tag: @atproto/pds@0.4.14, tag: @atproto/ozone@0.1.7, tag: @atproto/dev-env@0.3.5, tag: @atproto/bsky@0.0.45, tag: @atproto/api@0.12.3) Version packages (#2401)
...
データベースへの接続
PostgreSQLが使われていて、以下に接続情報が書いてあります。
テストユーザー
上記方法で起動した場合、すでに以下に書かれているユーザーが、テスト用に登録されています。
handleはalice.test
、パスワードhunter2
でAlice
としてログインすることができます。
Discussion