-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrender.yaml
More file actions
113 lines (110 loc) · 3.1 KB
/
Copy pathrender.yaml
File metadata and controls
113 lines (110 loc) · 3.1 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
105
106
107
108
109
110
111
112
113
# Render Blueprint — NEXSHOP
# Connect this repo in Render → New → Blueprint → apply, then fill secret env vars in the dashboard.
databases:
- name: nexshop-db
databaseName: nexshop
user: nexshop
plan: free
services:
# Django API — Docker (uses root Dockerfile in monorepo)
- type: web
name: nexshop-api
runtime: docker
dockerfilePath: ./Dockerfile
dockerContext: .
plan: free
healthCheckPath: /api/health/
envVars:
- key: DATABASE_URL
fromDatabase:
name: nexshop-db
property: connectionString
- key: DEBUG
value: "False"
- key: WEB_CONCURRENCY
value: "1"
- key: PAYMENT_MODE
value: mock
- key: SECRET_KEY
generateValue: true
- key: ALLOWED_HOSTS
value: nexshop-shur.onrender.com
- key: BACKEND_URL
value: https://nexshop-shur.onrender.com
- key: FRONTEND_URL
value: https://nextshop-ui.onrender.com
- key: CORS_ALLOWED_ORIGINS
value: https://nextshop-ui.onrender.com
- key: CSRF_TRUSTED_ORIGINS
value: https://nextshop-ui.onrender.com,https://nexshop-shur.onrender.com
- key: EMAIL_HOST
value: smtp-relay.brevo.com
- key: EMAIL_PORT
value: "587"
- key: EMAIL_USE_TLS
value: "True"
- key: EMAIL_HOST_USER
sync: false
- key: EMAIL_HOST_PASSWORD
sync: false
- key: DEFAULT_FROM_EMAIL
sync: false
- key: DEFAULT_FROM_NAME
value: NEXSHOP
- key: GOOGLE_OAUTH_CLIENT_ID
sync: false
- key: GOOGLE_OAUTH_CLIENT_SECRET
sync: false
- key: SUPABASE_URL
sync: false
- key: SUPABASE_SERVICE_KEY
sync: false
- key: SUPABASE_BUCKET
value: media
- key: AUTO_SEED_DB
value: "true"
- key: R2_ACCOUNT_ID
sync: false
- key: R2_ACCESS_KEY_ID
sync: false
- key: R2_SECRET_ACCESS_KEY
sync: false
- key: R2_BUCKET_NAME
value: nexshop-media
- key: R2_PUBLIC_URL
sync: false
# React SPA — Static Site (Option A: fast CDN, no Vite dev server)
- type: web
name: nextshop-ui
runtime: static
rootDir: frontend
buildCommand: npm ci && npm run build
staticPublishPath: dist
pullRequestPreviewsEnabled: true
routes:
- type: rewrite
source: /*
destination: /index.html
headers:
- path: /assets/*
name: Cache-Control
value: public, max-age=31536000, immutable
- path: /*.js
name: Cache-Control
value: public, max-age=31536000, immutable
- path: /*.css
name: Cache-Control
value: public, max-age=31536000, immutable
- path: /index.html
name: Cache-Control
value: public, max-age=0, must-revalidate
- path: /*
name: Cross-Origin-Opener-Policy
value: same-origin-allow-popups
envVars:
- key: NODE_VERSION
value: "20"
- key: VITE_API_URL
value: https://nexshop-shur.onrender.com/api
- key: VITE_GOOGLE_CLIENT_ID
sync: false