atoll PDS

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.

What is in the box#

  • Complete com.atproto server, 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.subscribeRepos firehose with durable, strictly ordered events, cursor replay, and bounded retention.
  • Fresh did:plc signup, 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

Protocol references#

Type to search across every page.