2025-12-11 20:05:59 +02:00
2025-12-12 23:52:52 +02:00
2025-12-12 23:52:52 +02:00
2025-12-12 23:52:52 +02:00
2025-12-10 20:04:52 +02:00

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

Description
No description provided
Readme 6.5 MiB
Languages
Rust 73.8%
Svelte 14.3%
TypeScript 10%
CSS 0.7%
Shell 0.5%
Other 0.6%