this repo has no description
1# BSPDS
2
3A 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.
4
5## Features
6
7- Full AT Protocol support (`com.atproto.*` endpoints)
8- OAuth 2.1 provider (PKCE, DPoP, PAR)
9- WebSocket firehose (`subscribeRepos`)
10- Multi-channel notifications (email, discord, telegram, signal)
11- Built-in web UI for account management
12- Per-IP rate limiting
13
14## Quick Start
15
16```bash
17cp .env.example .env
18podman compose up -d
19just run
20```
21
22## Configuration
23
24See `.env.example` for all configuration options.
25
26## Development
27
28Run `just` to see available commands.
29
30```bash
31just test # run tests
32just lint # clippy + fmt
33```
34
35## Production Deployment
36
37### Quick Deploy (Docker/Podman Compose)
38
39```bash
40cp .env.prod.example .env.prod
41# Edit .env.prod with your values (generate secrets with: openssl rand -base64 48)
42podman-compose -f docker-compose.prod.yml up -d
43```
44
45### Full Installation Guides
46
47| Guide | Best For |
48|-------|----------|
49| **Native Installation** | Maximum performance, full control |
50| [Debian](docs/install-debian.md) | Debian 13+ with systemd |
51| [Alpine](docs/install-alpine.md) | Alpine 3.23+ with OpenRC |
52| [OpenBSD](docs/install-openbsd.md) | OpenBSD 7.8+ with rc.d |
53| **Containerized** | Easier updates, isolation |
54| [Containers](docs/install-containers.md) | Podman with quadlets (Debian) or OpenRC (Alpine) |
55| **Orchestrated** | High availability, auto-scaling |
56| [Kubernetes](docs/install-kubernetes.md) | Multi-node k8s cluster deployment |
57
58## License
59
60TBD