Operations
Deployment & operations
The production shape: Render API, Vercel web, managed Postgres, S3-compatible artifact storage, and health endpoints.
The default production topology is a FastAPI service on Render, this Next.js dashboard on Vercel (deployed from the web/ root), managed Postgres for run metadata, and local or S3-compatible storage for artifacts.
Health & monitoring
| Endpoint | Purpose |
|---|---|
/healthz | Liveness — the process is up. |
/readyz | Readiness — dependencies (DB, storage) are reachable. |
/metrics | Prometheus metrics for scraping. |
Web smoke path
The proxy round-trip /api/proxy/api/leaderboard?track=test is the quickest end-to-end check that the web app can reach the API.
Web app configuration
The web app forwards browser requests through its proxy. Point it at your API with NEXT_PUBLIC_API_BASE (or INTERNAL_API_BASE for server-side calls). Both default to http://localhost:8000.
NEXT_PUBLIC_API_BASE=https://your-api.example.comOperating the API
- Run Alembic migrations on deploy rather than relying on implicit schema creation.
- Manage scoped API keys with the CLI:
create-api-key,rotate-api-key,revoke-api-key, andlist-api-keys. - Switch artifact storage to S3-compatible storage for durable production uploads.
- Remove the bootstrap key (
WMG_BOOTSTRAP_API_KEY) once the first durable writer key exists.
Verify a deployment
Run scripts/verify_deployment.py --api-base <api> --web-base <web> to check readiness, the leaderboard flow, and the web smoke path in one pass.
Source and full runbooks live in the repository — backend under server/, web under web/.