Our Personal Data Server from scratch!
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 43 lines 1.6 kB view raw view rendered
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- a PersistentVolume for blob storage 7- the app itself (it's just a container with some env vars) 8 9You'll need a wildcard TLS certificate for `*.your-pds-hostname.example.com`. User handles are served as subdomains. 10 11The container image expects: 12- A TOML config file mounted at `/etc/tranquil-pds/config.toml` (or passed via `--config`) 13- `DATABASE_URL` - postgres connection string 14- `BLOB_STORAGE_PATH` - path to blob storage (mount a PV here) 15- `PDS_HOSTNAME` - your PDS hostname (without protocol) 16- `JWT_SECRET`, `DPOP_SECRET`, `MASTER_KEY` - generate with `openssl rand -base64 48` 17- `CRAWLERS` - typically `https://bsky.network` 18 19and more, check the example.toml for all options. Environment variables can override any TOML value. 20You can also point to a config file via the `TRANQUIL_PDS_CONFIG` env var. 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```