-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrender.yaml
More file actions
101 lines (100 loc) · 2.97 KB
/
Copy pathrender.yaml
File metadata and controls
101 lines (100 loc) · 2.97 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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# Render Blueprint — IRB Saudi Arabia (free-tier friendly)
# https://dashboard.render.com/blueprints
#
# Architecture:
# - Web service: Node monolith (API + built SPA)
# - Database: external MySQL-compatible (TiDB Cloud Serverless free tier)
#
# After first deploy, set secrets in the Render dashboard (sync: false below).
services:
- type: web
name: irb-saudi-arabia
runtime: node
plan: free
# Frankfurt is closer to KSA/EU traffic than US regions; free-tier cold starts still apply.
region: frankfurt
repo: https://github.com/Abdulsalam3302/IRB-Ultimate
branch: main
autoDeploy: false
healthCheckPath: /api/ready
# Avoid `corepack enable` on Render free images (EROFS on /usr/bin/pnpm).
buildCommand: npm install -g pnpm@10.34.5 && pnpm install --frozen-lockfile && pnpm exec playwright install chromium && pnpm run build
startCommand: node scripts/check-pdf-runtime.mjs && node dist/index.js
envVars:
- key: PLAYWRIGHT_BROWSERS_PATH
value: /opt/render/project/.cache/playwright
- key: NODE_VERSION
value: "24"
- key: IRB_ISSUANCE_ENABLED
value: "false"
- key: PDF_MAX_CONCURRENCY
value: "1"
- key: NODE_ENV
value: production
- key: PORT
value: "10000"
- key: VITE_APP_ID
value: irb-sa-prod
# TiDB Serverless: keep pool small — large idle pools waste connections.
- key: DATABASE_POOL_MAX
value: "5"
- key: JWT_SECRET
generateValue: true
- key: DATABASE_URL
sync: false
- key: OWNER_EMAIL
sync: false
- key: OWNER_OPEN_ID
sync: false
- key: ALLOWED_ORIGINS
sync: false
- key: PUBLIC_APP_URL
sync: false
- key: VITE_PUBLIC_SITE_URL
sync: false
- key: SUPABASE_URL
sync: false
- key: VITE_SUPABASE_URL
sync: false
- key: VITE_SUPABASE_ANON_KEY
sync: false
- key: STORAGE_PROVIDER
sync: false
- key: SUPABASE_STORAGE_BUCKET
sync: false
- key: SUPABASE_SECRET_KEY
sync: false
- key: UPLOAD_SCAN_REQUIRED
value: "true"
- key: UPLOAD_SCANNER_MODE
value: remote
- key: SCANNER_PUBLIC_ORIGIN
value: https://irb-saudi-arabia.onrender.com
- key: SCANNER_EXPECTED_ENGINE
value: "1.5.4"
- key: SCANNER_WORKER_TOKENS
sync: false
- key: CLAMAV_SCAN_TIMEOUT_MS
value: "15000"
- key: CLAMAV_HOST
sync: false
- key: CLAMAV_PORT
value: "3310"
- key: LLM_API_URL
sync: false
- key: LLM_API_KEY
sync: false
- key: LLM_MODEL
sync: false
- key: LLM_PROVIDER
sync: false
- key: LLM_USER_DAILY_LIMIT
value: "40"
- key: LLM_GLOBAL_DAILY_LIMIT
value: "500"
- key: LLM_MAX_CONCURRENCY
value: "2"
- key: LLM_MAX_TOKENS
value: "8192"
- key: PILOT_LOGIN_ENABLED
value: "0"