
Bluesky PDS
Bluesky PDS (Personal Data Server)
PDS
bluesky-social/pds:0.4
Just deployed
/pds
Bluesky PDS (Personal Data Server)
This is an unofficial template. The environment variable settings used here are based on the official installation script:
https://github.com/bluesky-social/pds/blob/main/installer.sh
If you have any questions, please contact @mkizka.dev.
How to Use
- Fill in the template values and deploy the project.
- Navigate to “Settings” → “Public Networking” and register the domain you want to use. The domain must match the
PDS_HOSTNAME
environment variable. Example:
Domain | Port |
---|---|
example.com | 3000 |
*.example.com | 3000 |
- Set up a CNAME record for your domain using Cloudflare or another DNS provider.
- Run the following commands to create a new account:
$ git clone https://github.com/bluesky-social/pds
$ cd pds
$ vim ./pdsadmin/account.sh # Comment out lines 6 and 7 that reference pds.env
$ railway link # Select the generated project
> Select a workspace: your-workspace
> Select a project: your-project
> Select an environment: production
> Select a service: pds
$ railway run bash ./pdsadmin/account.sh create
Enter an email address (e.g. [email protected]): [email protected]
Enter a handle (e.g. alice.example.com): alice.example.com
Account created successfully!
-----------------------------
Handle : alice.example.com
DID : did:plc:xxxxxxxxxx
Password : xxxxxxxxxx
-----------------------------
Save this password, it will not be displayed again.
- You can now log in to Bluesky using your new account!
Template Content
PDS_HOSTNAME
Enter the domain you want to use.
PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX
Generate it with openssl ecparam --name secp256k1 --genkey --noout --outform DER | tail --bytes=+8 | head --bytes=32 | xxd --plain --cols 32