Authenticated Transfer Protocol (atproto) is an open-source, federated social media technology; it powers Bluesky and public replays are free to access and leverage. Hosting your own account server is entirely possible, and this is desirable for communities desiring their own moderation policies, algos, and more. I’ll be jotting down notes here, as I learn how to use it.
Essential Components for Accessing Bsky
- PDS = Personal Data Server
- account storage, post storage
- hosts your data (like the posts you’ve created)
- handles your account & login
- manages your repo’s signing key (DID)
- stores any of your private data (like which accounts you have muted)
- handles the services you talk to for any request (Relays)
- handle requests to other services (apps)
- federates with the existing public Bluesky network
- Signed repositories (sounds like a separate server?)
these host
- DIDs = user data, independent of PDS and Relay
- portable between atproto networks
- permissionless, can be moved if PDS is gone
- AppView
- API that creates the frontend for users to interact thru
- supplies mobile app / website with data
- creates the social media app layer
- filters down a slice of the Relay data
- based on account choices (in PDS)
- assuming the existing Bluesky app works w 3rd part PDSes
- Relays (large bsy public servers) handle
- firehose of network content
- metrics to include
- reposts
- followers
- user search
- algos
- docs indicate that setting up a private relay is not easy nor feasible— using the public federation is the recommended best practice (without serious capex and skill reserves)
Steps to Create a PDS
Create a server on DigitalOcean. Direct from the bluesky-social code docs:
Server Recommendations
|
|
| Operating System |
Ubuntu 24.04 |
| Memory (RAM) |
1 GB |
| CPU Cores |
1 |
| Storage |
20 GB SSD |
| Architectures |
amd64, arm64 |
| Number of users |
1-20 |
This is the $6/mo tier on DigitalOcean.
Overview
- connectivity
- adjust and secure firewall / ports
- configure DNS
- test
- debian
- install bluesky-social
- create admin account
- connect to this PDS using bsky app
- configure email service
- recommended are:
- set up for PDS server
- add SMTP to server
- restart PDS