this repo has no description
Rust 88.3%
Svelte 5.4%
TypeScript 5.2%
Shell 0.4%
Just 0.1%
Dockerfile 0.1%
HTML 0.1%
JavaScript 0.1%
Other 0.5%
39 1 0

Clone this repository

https://tangled.org/lewis.moe/bspds-sandbox
git@tangled.org:lewis.moe/bspds-sandbox

For self-hosted knots, clone URLs may differ based on your setup.

README.md

BSPDS#

A production-grade Personal Data Server (PDS) for the AT Protocol. Drop-in replacement for Bluesky's reference PDS, using postgres and s3-compatible blob storage.

Features#

  • Full AT Protocol support (com.atproto.* endpoints)
  • OAuth 2.1 provider (PKCE, DPoP, PAR)
  • WebSocket firehose (subscribeRepos)
  • Multi-channel notifications (email, discord, telegram, signal)
  • Built-in web UI for account management
  • Per-IP rate limiting

Quick Start#

cp .env.example .env
podman compose up -d
just run

Configuration#

See .env.example for all configuration options.

Development#

Run just to see available commands.

just test      # run tests
just lint      # clippy + fmt

Production Deployment#

Quick Deploy (Docker/Podman Compose)#

cp .env.prod.example .env.prod
# Edit .env.prod with your values (generate secrets with: openssl rand -base64 48)
podman-compose -f docker-compose.prod.yml up -d

Full Installation Guides#

Guide Best For
Native Installation Maximum performance, full control
Debian Debian 13+ with systemd
Alpine Alpine 3.23+ with OpenRC
OpenBSD OpenBSD 7.8+ with rc.d
Containerized Easier updates, isolation
Containers Podman with quadlets (Debian) or OpenRC (Alpine)
Orchestrated High availability, auto-scaling
Kubernetes Multi-node k8s cluster deployment

License#

TBD