Installing a BlueSky PDS Server

Installing a BlueSky PDS Server

For the past few weeks, I've been testing the BlueSky social network (a decentralized equivalent of Twitter). I've since deleted my Twitter account to use it exclusively.

Then, I discovered that there was the possibility of installing a PDS (Personal Data Server) on its infrastructure to host its identity on the network as well as its published data. And that's what we're going to see today.

Prerequisites

Before starting this tutorial, it is necessary to have:

  • A virtual server running on Debian 12
    • Also works on Ubuntu
  • A fixed public IP
  • A domain name
  • A wildcard on the specified domain name (*.pds.example.ch)

Installation of the PDS

Connect via SSH to the server and install the prerequisite packages

sudo apt update && sudo apt install wget curl

Download and install the installation script

wget https://raw.githubusercontent.com/bluesky-social/pds/main/installer.sh
sudo chmod +x installer.sh
sudo ./installer.sh
When launching the installation, it asks for the DNS name to point to your server's IP address and a wildcard (*.example.ch). If your server is, for example, pds.example.ch, the wildcard will be *.pds.example.ch

Enter the server hostname when prompted

Then enter the system notification email address and let the packages download.

Once the installation is complete, the installer asks if an account should be created, this must be done by filling in the information as proposed in the installer

It will be possible to modify the handle later
Remember to note down the information displayed, such as the password, because if you forget it, you will have to reset it.

To test that the server is working properly, you can go to https://pds.exemple.ch/xrpc/_health to get the version number of the PDS server.

{"version":"0.4.74"}

Creating an account

Creating an account can be done via the application or the website.

You will need to remember to add the information to the /pds/pds.env file to connect to your mail server:

PDS_EMAIL_SMTP_URL=smtps://USERNAMESMTP:PASSWORD@mail.exemple.ch:465/
PDS_EMAIL_FROM_ADDRESS=admin@exemple.ch
Replace the information with that of your email server

Update the PDS server

To update the server, simply run the command below:

sudo pdsadmin update