-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrender.yaml
More file actions
126 lines (123 loc) · 3.99 KB
/
render.yaml
File metadata and controls
126 lines (123 loc) · 3.99 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
# Render Blueprint for DocDeploy
# Worker + per-tenant MCP servers (frontend deploys on Vercel)
#
# Deploy: connect GitHub repo → Render auto-detects this file
# Env vars: set manually in Render dashboard (secrets)
services:
# ─── Background document processing worker ───
# Picks up jobs from pg-boss, converts docs to markdown,
# uploads to R2, indexes in Postgres.
- type: worker
name: docdeploy-worker
runtime: node
region: ohio
plan: starter
buildCommand: npm ci
startCommand: npx tsx packages/workers/src/process-document.ts
envVars:
- key: DATABASE_URL
sync: false
- 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: docdeploy
- key: R2_PUBLIC_URL
sync: false
- key: NODE_ENV
value: production
# ─── MCP Server (multi-tenant) ───
# A single instance serves all tenants. Each agent authenticates with
# their tenant's MCP API key via Bearer token; the server resolves the
# tenant per-request from the DB. MCP_API_KEY is optional — when set it
# pre-warms a default tenant at startup for the health banner/OAuth flow.
# Agents connect via: https://mcp.docdeploy.io/mcp
- type: web
name: docdeploy-mcp-dev
runtime: node
region: ohio
plan: starter
buildCommand: npm ci
startCommand: npx tsx packages/mcp-server/src/server.ts
healthCheckPath: /health
domains:
- mcp.docdeploy.io
envVars:
- key: PUBLIC_URL
value: https://mcp.docdeploy.io
- key: DATABASE_URL
sync: false
- key: MCP_API_KEY
sync: false
- key: R2_PUBLIC_URL
sync: false
- key: X402_PAYEE_ADDRESS
sync: false
- key: X402_FACILITATOR_URL
value: https://api.cdp.coinbase.com/platform/v2/x402
- key: X402_NETWORK
value: base
- key: X402_ASSET_ADDRESS
value: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
- key: X402_ASSET_EIP712_NAME
value: USD Coin
- key: X402_ASSET_EIP712_VERSION
value: "2"
- key: CDP_API_KEY_ID
sync: false
- key: CDP_API_KEY_SECRET
sync: false
- key: MEMORY_ENCRYPTION_KEY
sync: false
- key: PORT
value: "3001"
- key: NODE_ENV
value: production
# ─── DocDeploy services API (memory + identity + paid REST, Base USDC) ───
# POST /v1/remember ($0.005), POST /v1/recall ($0.01). Set X402_PAYEE_ADDRESS in Render.
# Custom host: add DNS (CNAME) at your registrar per Render dashboard after blueprint sync.
# Service name is intentionally still `docdeploy-x402-api` — renaming would destroy
# the Render service, losing secrets + TLS cert + history. The canonical public
# domain is `services.docdeploy.io`; `x402.docdeploy.io` is kept as a legacy alias
# during the soft-transition period and will be removed once traffic migrates.
- type: web
name: docdeploy-x402-api
runtime: node
region: ohio
plan: starter
buildCommand: npm ci
startCommand: npx tsx packages/x402-api/src/server.ts
healthCheckPath: /health
domains:
- services.docdeploy.io
- x402.docdeploy.io
envVars:
- key: DATABASE_URL
sync: false
- key: X402_PAYEE_ADDRESS
sync: false
- key: X402_FACILITATOR_URL
value: https://api.cdp.coinbase.com/platform/v2/x402
- key: X402_NETWORK
value: base
- key: X402_ASSET_ADDRESS
value: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
- key: X402_ASSET_EIP712_NAME
value: USD Coin
- key: X402_ASSET_EIP712_VERSION
value: "2"
- key: CDP_API_KEY_ID
sync: false
- key: CDP_API_KEY_SECRET
sync: false
- key: CLERK_SECRET_KEY
sync: false
- key: MEMORY_ENCRYPTION_KEY
sync: false
- key: PORT
value: "8080"
- key: NODE_ENV
value: production