ai/at
1
0
Files
at/README.md
2024-10-19 00:26:01 +09:00

2.7 KiB

atproto(at protocol)

$ curl -sL syu.is/xrpc/_health
{"version":"0.4.65"}

# latest
$ curl -sL https://raw.githubusercontent.com/bluesky-social/atproto/refs/heads/main/packages/pds/package.json |jq -r .version
  • @
  • [at]mosphere
  • at://domain

self-host

currently, bsky and bsync require patches to function properly. additionally, social-app is not displaying avatars. for components that are not working, it's recommended to use itaru2622/bluesky-selfhost-env. this repository provides an environment for self-hosting bluesky.

  • bsky = appview
  • ozone = mod
name service patch
pds https://github.com/bluesky-social/atproto/blob/main/services/pds/Dockerfile
bsky https://github.com/bluesky-social/atproto/blob/main/services/bsky/Dockerfile itaru2622/bluesky-atproto-bsky
bsync https://github.com/bluesky-social/atproto/blob/main/services/bsync/Dockerfile
ozone https://github.com/bluesky-social/atproto/blob/main/services/ozone/Dockerfile
plc https://github.com/did-method-plc/did-method-plc/tree/main/packages/server
bgs https://github.com/bluesky-social/indigo/tree/main/cmd/bigsky
feed https://github.com/bluesky-social/feed-generator
web https://github.com/bluesky-social/social-app itaru2622/bluesky-social-app
# BSKY_IMG_URI_ENDPOINT, BSKY_BLOB_CACHE_LOC
# avatar link example
1. https://appview.${host}/img/avatar/plain/${did}/${cid}@jpeg
2. https://${host}/xrpc/com.atproto.sync.getBlob?did=${did}&cid=${cid}

docker compose will not be published unless you write ports. it is only valid internally. add ports only for what you want to publish.

api

# create account
$ url=https://${pds}/xrpc/com.atproto.server.createAccount
$ json="{\"email\": \"$email\", \"handle\": \"$handle\", \"password\": \"$password\"}"
$ curl -X POST -H "Content-Type: application/json" -d $json -sL $url 

change src/pds/handle to use a name of 3 characters or less. also, you cannot create an account with a name of 3 characters or less from social-app (web client). please create it from api.

# invite code
admin_password=xxx
url=https://$host/xrpc/com.atproto.server.createInviteCode
json="{\"useCount\":1}"
curl -X POST -u admin:${admin_password} -H "Content-Type: application/json" -d "$json" -sL $url