Indigo版PDSを立てる
Indigo(Go言語版のatproto試験実装)にあるPDS(laputa)を立ててみる こちらは現状ほとんどの機能が実装されておらず実用には全く向かない
立て方
code:sh
cd indigo
make build
go run ./cmd/laputa/ gen-key
go run ./cmd/laputa/
これで localhost:4989 に立つ
現状
データは ./data/laputa/pds.sqlite に保存される
handleの末尾は.testになる
--handle-domains で1つのみ設定できる。複数指定は未実装
非常に多くのAPIが "not yet implemented" となっており500が返る
テスト中のためパスワードのハッシュ化が実装されておらず平文で保存される CORSヘッダーが付かずWeb系クライアントで使えない
nginxで付ける
code:nginx.conf
server {
listen 4988;
location / {
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Headers' '*' always;
add_header 'Access-Control-Allow-Methods' '*' always;
if ( $request_method = OPTIONS ) {
return 204;
}
}
}
オプション
code:txt
$ go run ./cmd/laputa/ --help
NAME:
laputa - bluesky PDS in golang
USAGE:
COMMANDS:
gen-key
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--jaeger (default: false)
--db-url value (default: "sqlite://./data/laputa/pds.sqlite") $DATABASE_URL --db-tracing (default: false)
--name value hostname of this PDS instance (default: "localhost:4989")
--data-dir value path of directory for CAR files and other data (default: "data/laputa") $DATA_DIR --jwt-secret value secret used for authenticating JWT tokens (default: "jwtsecretplaceholder") $ATP_JWT_SECRET --handle-domains value comma-separated list of domain suffixes for handle registration (default: ".test") $ATP_PDS_HANDLE_DOMAINS --help, -h show help (default: false)