Running a relay
The PDS is a single Rust binary with a SQLite database. It is designed to be easy to host — the whole point of the project.
Health
Section titled “Health”Every deployment exposes a health endpoint the platform can watch:
curl -sS https://your-pds.example.com/xrpc/_healthA healthy server reports its version, derived from the workspace version — the same source these docs stamp — so the server and its documentation cannot claim different versions.
What you are responsible for
Section titled “What you are responsible for”- Durability — the SQLite database is the identity store. Back it up. Production streams continuous backups to object storage with Litestream — see Backups & restore.
- Availability — users’ clients reach your server to read and write. Health checks and restart policy are your safety net.
- You can’t lock anyone in — you hold the lower-precedence rotation key
(
rotationKeys[1]); the user’s key (rotationKeys[0]) outranks it, so they can move their identity to another server whenever they choose. Design your operations for that.
Deploy
Section titled “Deploy”The server deploys as an OCI image (Railway builds the Dockerfile directly).
The full runbook — staging vs production branches, Litestream backups, and the
security posture — lives in the repository’s docs/deploy.md.