- Published on
How to launch a BlueSky PDS on AWS
- Authors
- Name
- Jacob Aronoff
Like me, you may have been very excited and eager to run your own bluesky PDS.
Doing it right now is a bit of a manual process, but not all too terrible!
I wrote a small bit of terraform that you can use too :)
Instructions
Clone the repo
Clone this repo.
You can learn more about cloning here
Create your variables file
In terminal, clone the repo locally
cd pds-tf
# generate RSA keypair if you don't have one
ssh-keygen -t rsa -b 4096
echo "key_pair_name=\"test\"\npublic_key=\"$(cat ~/.ssh/id_rsa.pub)\"\n" > main.auto.tfvars
Apply the code
Assuming you've already authed to AWS...
terraform apply
Setup the records
While your instance boots, you should have a new static IP address (found in your AWS console).
Be sure to update the records for your domain per the PDS docs:
NAME TYPE VALUE
---- ---- -----
example.com A <ipaddress>
*.example.com A <ipaddress>
Once you've completed this, you may need to restart your instance.
Confirm it works
After a few minutes, you should be able to curl your domain's health endpoint
curl -v https://pds.example.com/xrpc/_health
SSH to run admin commands
Once your PDS is up and healthy, you can SSH into your instance to run commands:
ssh -i ~/.ssh/id_rsa ubuntu@<ipaddress>
sudo pdsadmin list
Troubleshooting
- You may find no running PDS, in this case SSH into the instance and manually run the setup
- PDSadmin commands 404'ing. This is a known issue maybe bump this issue?