Apps
api-server
The consolidated Effect v4 server — store RPC + better-auth, chess (Stockfish + WebSocket RPC), CVM media/commerce, and the reference HttpApi.
Overview
api-server is the monorepo's single Effect v4 HTTP server (port 3040).
It absorbed the former lila-server, cvm-server and effect-app:
- Store —
StoreRpcatPOST /rpc, better-auth at/api/auth/*, Contentful→Stripe sync at/api/sync/*. Serves theit-f-store-cfCloudflare Worker. - Chess (
src/chess/) — REST at/games*, WebSocket RPC at/chess/rpc(Stockfish engine, guest sessions). Serves the portal's chess routes via thechess-api.*Traefik hostname. - CVM (
src/cvm/) — clips/transcribe/render,/catalog,/commerce/*,/newsletter. Serves the portal store viacvm-api.*. - Reference HttpApi (
src/reference/) — accounts/groups/people demo with SQLite persistence and Swagger at/docs.
One /health, one Prometheus /metrics (api_http_requests).
Stack
- Effect v4 (
@effect/platform-node, HttpRouter + RpcServer + HttpApi) - Drizzle ORM + store Postgres (chess tables included) · SQLite (reference)
- Stripe, Resend, Contentful, better-auth, Sentry
Develop
pnpm -F api-server dev # tsx watch, :3040
pnpm -F api-server testDeploy
One Docker Compose service (api) on the VPS, built from the root
Dockerfile (APP=api-server), fronted by Traefik under the
chess-api.*, cvm-api.* and api.* hostnames. Deployable via
Openship (deploy-openship.yml, API_SERVER_PROJECT_ID).
See the root README for monorepo-wide commands.