this repo has no description
1# pds.js
2
3A zero-dependency AT Protocol Personal Data Server written in JavaScript, running on Cloudflare Workers with Durable Objects.
4
5> ⚠️ **Work in progress** - This is experimental. You probably shouldn't use this yet.
6
7## Quick Start
8
9```bash
10npm install
11
12# Create local dev config
13cp .env.example .dev.vars
14# Edit .dev.vars with your values
15
16# Run locally
17npm run dev
18```
19
20## Configuration
21
22For local development, create `.dev.vars`:
23
24```
25PDS_PASSWORD=your-password
26JWT_SECRET=your-secret
27RELAY_HOST=https://bsky.network # optional
28```
29
30For production, use Cloudflare secrets:
31
32```bash
33wrangler secret put PDS_PASSWORD
34wrangler secret put JWT_SECRET
35wrangler secret put RELAY_HOST # optional
36```
37
38## Testing
39
40```bash
41npm test # Unit tests
42npm run test:e2e # E2E tests (starts local server)
43```
44
45## Deploy
46
47```bash
48wrangler deploy
49```
50
51## Initialize
52
53After deployment, run the setup script to register with PLC and initialize:
54
55```bash
56npm run setup -- --pds https://your-pds.workers.dev
57```
58
59This generates keys, registers your DID with the PLC directory, initializes the PDS, and saves credentials. Handle defaults to the worker hostname.