-
-
Notifications
You must be signed in to change notification settings - Fork 40
Expand file tree
/
Copy pathrender.yaml
More file actions
128 lines (123 loc) · 4.89 KB
/
render.yaml
File metadata and controls
128 lines (123 loc) · 4.89 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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# ═══════════════════════════════════════════════════════════════════════════════
# XActions — Render.com Blueprint
# Free tier: 750 hours/month web services, free PostgreSQL (90 days)
# Deploy: Connect GitHub repo → Render auto-detects this file
# by nichxbt
# ═══════════════════════════════════════════════════════════════════════════════
services:
# ─────────────────────────────────────────────────────────────────────────────
# API Server
# ─────────────────────────────────────────────────────────────────────────────
- type: web
name: xactions-api
runtime: docker
dockerfilePath: ./Dockerfile
plan: free
region: oregon
healthCheckPath: /api/health
envVars:
- key: NODE_ENV
value: production
- key: PORT
value: "3001"
- key: DATABASE_URL
fromDatabase:
name: xactions-db
property: connectionString
- key: REDIS_HOST
fromService:
name: xactions-redis
type: redis
property: host
- key: REDIS_PORT
fromService:
name: xactions-redis
type: redis
property: port
- key: JWT_SECRET
generateValue: true
- key: SESSION_SECRET
generateValue: true
- key: PUPPETEER_EXECUTABLE_PATH
value: /usr/bin/chromium
- key: PUPPETEER_HEADLESS
value: "true"
- key: PUPPETEER_NO_SANDBOX
value: "true"
# ─────────────────────────────────────────────────────────────────────────────
# Background Worker
# ─────────────────────────────────────────────────────────────────────────────
- type: worker
name: xactions-worker
runtime: docker
dockerfilePath: ./Dockerfile
dockerCommand: node api/services/jobQueue.js
plan: free
envVars:
- key: NODE_ENV
value: production
- key: DATABASE_URL
fromDatabase:
name: xactions-db
property: connectionString
- key: REDIS_HOST
fromService:
name: xactions-redis
type: redis
property: host
- key: REDIS_PORT
fromService:
name: xactions-redis
type: redis
property: port
- key: JWT_SECRET
sync: false
- key: PUPPETEER_EXECUTABLE_PATH
value: /usr/bin/chromium
- key: PUPPETEER_HEADLESS
value: "true"
# ─────────────────────────────────────────────────────────────────────────────
# Static Frontend (Website — content pages only, dashboard hidden)
# ─────────────────────────────────────────────────────────────────────────────
- type: web
name: xactions-website
runtime: static
buildCommand: echo "Static site — no build needed"
staticPublishPath: ./dashboard
plan: free
headers:
- path: /*
name: X-Content-Type-Options
value: nosniff
- path: /*
name: X-Frame-Options
value: DENY
routes:
- type: rewrite
source: /about
destination: /about.html
- type: rewrite
source: /docs
destination: /docs.html
- type: rewrite
source: /features
destination: /features.html
- type: rewrite
source: /privacy
destination: /privacy.html
- type: rewrite
source: /terms
destination: /terms.html
- type: rewrite
source: /ai
destination: /ai.html
- type: rewrite
source: /mcp
destination: /mcp.html
databases:
- name: xactions-db
plan: free
databaseName: xactions
postgresMajorVersion: "16"
# Note: Render Redis requires paid plan ($7/mo) or use Upstash free tier
# To use Upstash instead, remove redis fromService refs and set REDIS_HOST/PORT manually