services: # ── Agent (LangGraph Python) — native Python with FastAPI + uvicorn ── - type: web name: open-generative-ui-agent runtime: python plan: starter rootDir: apps/agent buildCommand: pip install uv && uv sync startCommand: uv run uvicorn main:app --host 0.0.0.0 --port $PORT healthCheckPath: /health scaling: minInstances: 1 maxInstances: 3 targetMemoryPercent: 80 targetCPUPercent: 70 envVars: - key: PYTHON_VERSION value: "3.12.6" - key: OPENAI_API_KEY sync: false - key: LANGSMITH_API_KEY sync: false - key: LLM_MODEL value: gpt-5.4-2026-03-05 buildFilter: paths: - apps/agent/** # ── Frontend (Next.js) — native Node runtime ── - type: web name: open-generative-ui-app runtime: node plan: starter scaling: minInstances: 1 maxInstances: 3 targetMemoryPercent: 80 targetCPUPercent: 70 buildCommand: corepack enable && pnpm install --no-frozen-lockfile && pnpm --filter @repo/app build startCommand: pnpm --filter @repo/app start healthCheckPath: /api/health envVars: - key: NODE_VERSION value: "22" - key: SKIP_INSTALL_DEPS value: "true" - key: LANGGRAPH_DEPLOYMENT_URL fromService: name: open-generative-ui-agent type: web property: hostport - key: LANGSMITH_API_KEY sync: false - key: RATE_LIMIT_ENABLED value: "false" - key: RATE_LIMIT_WINDOW_MS value: "60000" - key: RATE_LIMIT_MAX value: "40" buildFilter: paths: - apps/app/** - package.json - pnpm-lock.yaml - turbo.json