-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrender.yaml
More file actions
35 lines (35 loc) · 1.65 KB
/
Copy pathrender.yaml
File metadata and controls
35 lines (35 loc) · 1.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Render deployment for sudoPay (Adversarial Payment Security Lab).
#
# One web service, not two. The FastAPI process serves both the JSON API and the built React
# frontend, because the frontend already calls the API on relative `/api` paths. Serving both
# from one origin means the deployed build needs no API base URL of its own, no CORS exchange
# happens, and there is a single public URL to hand out.
#
# The service name below determines the public hostname, so `sudopay` yields
# https://sudopay.onrender.com.
services:
- type: web
name: sudopay
runtime: python
plan: free
branch: feat/project-titan
buildCommand: "pip install --upgrade pip && pip install -r requirements.txt && cd frontend && npm ci && npm run build"
startCommand: "uvicorn backend.app.main:app --host 0.0.0.0 --port $PORT"
healthCheckPath: /api/health
autoDeploy: true
envVars:
# numpy 1.26.4 publishes no wheels for Python 3.13, so building on whatever Render happens
# to default to would try to compile numpy from source and fail. Render pins the runtime
# through this variable rather than a service-level field.
- key: PYTHON_VERSION
value: "3.12.7"
# SQLite lives on the instance's ephemeral disk. That is deliberate: the lab generates its
# own synthetic data on demand from the dashboard, so there is nothing here worth keeping
# across a redeploy, and adding a paid persistent disk would be infrastructure this
# application does not need.
- key: DATABASE_URL
value: sqlite:///./data/ai_defense_lab.db
- key: DEFAULT_SEED
value: "42"
- key: PYTHONUNBUFFERED
value: "1"