atoll PDS
An AT Protocol Personal Data Server built with Elixir, Phoenix, and PostgreSQL or SQLite.
Atoll provides account hosting, signed repositories, blob storage, the repository firehose, OAuth, moderation tooling, and operator workflows, tracking the endpoint surface of the pinned reference implementation. Interoperability is exercised against pinned official client, OAuth SDK, and firehose implementations; validate live-network federation for your own deployment.
Get started →
Clone the repository, boot a development server, and make your first request in a few minutes.
Installation →
Elixir, OTP, and database prerequisites, plus building a production release.
Setup environment →
Every environment variable that shapes a deployment, grouped by what it does.
Production deployment →
The ordered runbook from an empty server to a PDS federating on the live network.
What is in the box#
- Complete
com.atprotoserver, repo, sync, identity, and admin endpoint surface at the pinned upstream revision, with lexicon-validated requests. - Signed repositories (secp256k1 and P-256) with MST inclusion proofs, CAR export/import, historical versions, and account migration in and out.
com.atproto.sync.subscribeReposfirehose with durable, strictly ordered events, cursor replay, and bounded retention.- Fresh
did:plcsignup, invites, handle domains, custom-domain handles, and durable PLC journals with operator reconciliation and recovery tooling. - ATProto OAuth authorization and resource server: PAR, DPoP, granular permissions and permission sets, browser consent, passkeys, and TOTP.
- AppView/feed-generator/notification proxying with phase-1 service-auth audiences and read-after-write splicing of not-yet-indexed local writes.
- Blob storage in PostgreSQL or S3, quotas, takedowns, cleanup workers, and opt-in structural media validation.
- Operations: Prometheus metrics with CI-tested alert rules, read-only maintenance mode, paired database/S3 recovery sets with restore drills, and encrypted signing-key custody with rotation workflows.
Where to go next#
| If you want to | Read |
|---|---|
| Run Atoll locally for the first time | Get started |
| Install the toolchain and build a release | Installation |
| Understand a configuration value | Setup environment |
| Take a server to production | Production deployment |
| Know exactly what is implemented | Feature record |