Repository navigation
Expand file tree
/
Copy pathrender.yaml
More file actions
104 lines (89 loc) · 4.2 KB
/
Copy pathrender.yaml
File metadata and controls
104 lines (89 loc) · 4.2 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
102
103
104
version: "1"
services:
# ─── Backend API ────────────────────────────────────────────────────────────
- type: web
name: certivault-backend
runtime: node
region: oregon
plan: free
# All commands run from the repo root, so prefix with the subdirectory
rootDir: backend
buildCommand: npm ci && npm run build
startCommand: node dist/server.js
# Health-check — Render will restart the instance if this path stops responding
healthCheckPath: /health/live
envVars:
- key: NODE_ENV
value: production
# ── MongoDB ───────────────────────────────────────────────────────────
- key: MONGODB_URI
sync: false # set value in Render dashboard → Environment
# ── JWT ───────────────────────────────────────────────────────────────
- key: JWT_ACCESS_SECRET
sync: false
- key: JWT_REFRESH_SECRET
sync: false
- key: JWT_ISSUER
value: certivault-api
- key: JWT_AUDIENCE
value: certivault-web
- key: JWT_ACCESS_EXPIRES_IN
value: 15m
- key: JWT_REFRESH_EXPIRES_IN
value: 7d
# ── CORS ──────────────────────────────────────────────────────────────
- key: FRONTEND_ORIGIN
value: https://certi-vault-alpha.vercel.app
# ── Redis ─────────────────────────────────────────────────────────────
- key: REDIS_URL
sync: false # e.g. rediss://default:PASSWORD@host:PORT
# ── AWS S3 (optional) ────────────────────────────────────────────────
- key: AWS_ACCESS_KEY_ID
sync: false
- key: AWS_SECRET_ACCESS_KEY
sync: false
- key: AWS_REGION
sync: false
- key: AWS_S3_BUCKET
sync: false
# ── Cloudinary (optional) ────────────────────────────────────────────
- key: CLOUDINARY_CLOUD_NAME
sync: false
- key: CLOUDINARY_API_KEY
sync: false
- key: CLOUDINARY_API_SECRET
sync: false
# ── Email / SMTP (optional) ──────────────────────────────────────────
- key: SMTP_HOST
sync: false
- key: SMTP_PORT
sync: false
- key: SMTP_USER
sync: false
- key: SMTP_PASS
sync: false
- key: EMAIL_FROM
sync: false
- key: RESEND_API_KEY
sync: false
# ── Google OAuth (optional) ──────────────────────────────────────────
- key: GOOGLE_CLIENT_ID
sync: false
- key: GOOGLE_CLIENT_SECRET
sync: false
- key: GOOGLE_CALLBACK_URL
value: https://certivault-ixzb.onrender.com/api/auth/google/callback
# ── Bull Board (optional) ────────────────────────────────────────────
- key: BULL_BOARD_USERNAME
sync: false
- key: BULL_BOARD_PASSWORD
sync: false
# ── Misc ──────────────────────────────────────────────────────────────
- key: BCRYPT_ROUNDS
value: "12"
- key: MAX_UPLOAD_BYTES
value: "10485760"
- key: TRUST_PROXY
value: "true"
- key: LOG_LEVEL
value: info