···2525- **`/apps/main-app`** - Main backend (OAuth, site management, custom domains)
2626- **`/apps/hosting-service`** - Microservice that serves cached sites from disk
2727- **`/cli`** - CLI for direct PDS uploads as well as serving with firehose updates
2828-- **`/rust-cli`** - Deprecated Rust CLI for direct PDS uploads with firehose updates
2928- **`/apps/main-app/public`** - React frontend
3029- **`/packages`** - Shared packages
3130···6564- `place.wisp.v2.domain.getList` (query / GET)
6665- `place.wisp.v2.domain.getStatus` (query / GET)
67666868-The server validates **serviceAuth JWTs** (not cookie auth, not direct end-user access JWTs) on `/xrpc/*`.
6767+The server validates **serviceAuth JWTs** on `/xrpc/*`.
69687069Set these env vars in your active `.env`:
71707271```env
7373-LOCAL_DEV=true
7474-SERVICE_DID=did:web:regentsmacbookair
7272+SERVICE_DID=did:web:domain
7573SERVICE_IDS="#wisp_xrpc"
7676-SERVICE_ENDPOINT=https://regentsmacbookair
7474+SERVICE_ENDPOINT=https://domain
7775```
78767977Notes:
···8381- `SERVICE_IDS` must be quoted when it starts with `#` (otherwise dotenv treats it as a comment).
8482- Service identity keys are stored in `service_identity_keys` in Postgres.
8583 If `SERVICE_PUBLIC_KEY_MULTIBASE` and `SERVICE_PRIVATE_KEY_MULTIBASE` are not set, a keypair is generated once and persisted.
8686-8787-### Local TLS Requirement (No Auto Cert Generation)
8888-8989-`apps/main-app` now serves HTTP only. If you need HTTPS in local/proxy flows,
9090-terminate TLS in your reverse proxy or tunnel layer and forward plain HTTP to main-app.
9191-92849385```bash
9486# Hosting service