mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 02:54:26 +00:00
curl reads backslash escapes inside a quoted config value, so a password with `"` or `\` reached the PDS altered (`a"b` as `admin:a`, `a\b` as `admin:ab`). The sed step now escapes both characters before it builds the `user` line. Addresses the CodeRabbit review on #961. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
1.5 KiB
1.5 KiB
Administration
Create a user via POST
compose exec -T pds printenv PDS_ADMIN_PASSWORD \
| sed 's/[\\"]/\\&/g; s/.*/user = "admin:&"/' \
| curl --config - -X POST https://your-pds-domain/xrpc/com.atproto.server.createAccount \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"handle": "username",
"password": "securepassword123",
"inviteCode": "optional-invite-code"
}'
Use pdsadmin
compose exec -it pds pdsadmin
compose exec -it pds pdsadmin account create-invite-code
Roll back the PDS image
The PDS migrates its account database forward when it starts. An older image refuses a database that a newer image has migrated and stops with corrupted migrations: previously executed migration ... is missing.
- You MUST NOT lower
services.pds.versionon its own. - To roll back, you MUST restore the
bluesky_pds_datavolume from the backup generation taken before the update and pin the old version in the same step. Follow A single volume for the restore. - That backup generation exists only when
svc-bkp-volume-2-localis deployed andMODE_BACKUPis enabled. - The restore discards everything the PDS stored after the update.
Debugging
- Websocket: piehost.com
- Instance: bsky-debug.app
Initial setup: no top-level domain.