this repo has no description
1# Tranquil PDS on Kubernetes 2 3If you're reaching for kubernetes for this app, you're experienced enough to know how to spin up: 4 5- cloudnativepg (or your preferred postgres operator) 6- valkey 7- s3-compatible object storage (minio operator, or just use a managed service) 8- the app itself (it's just a container with some env vars) 9 10You'll need a wildcard TLS certificate for `*.your-pds-hostname.example.com`. User handles are served as subdomains. 11 12The container image expects: 13- `DATABASE_URL` - postgres connection string 14- `S3_ENDPOINT`, `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `S3_BUCKET` 15- `BACKUP_S3_BUCKET` - bucket for repo backups (optional but recommended) 16- `VALKEY_URL` - redis:// connection string 17- `PDS_HOSTNAME` - your PDS hostname (without protocol) 18- `JWT_SECRET`, `DPOP_SECRET`, `MASTER_KEY` - generate with `openssl rand -base64 48` 19- `CRAWLERS` - typically `https://bsky.network` 20and more, check the .env.example. 21 22Health check: `GET /xrpc/_health` 23 24## Custom Homepage 25 26Mount a ConfigMap with your `homepage.html` into the container's frontend directory and it becomes your landing page. Go nuts with it. Account dashboard is at `/app/` so you won't break anything. 27 28```yaml 29apiVersion: v1 30kind: ConfigMap 31metadata: 32 name: pds-homepage 33data: 34 homepage.html: | 35 <!DOCTYPE html> 36 <html> 37 <head><title>Welcome to my PDS</title></head> 38 <body> 39 <h1>Welcome to my little evil secret lab!!!</h1> 40 <p><a href="/app/">Sign in</a></p> 41 </body> 42 </html> 43``` 44