67 lines
2.2 KiB
YAML
67 lines
2.2 KiB
YAML
# Waggle Teams — Render.com Blueprint
|
|
#
|
|
# Deploy with one click: https://render.com/deploy
|
|
# Or: render blueprint apply
|
|
#
|
|
# This creates:
|
|
# - waggle-server: Node.js web service (serves frontend + local sidecar API)
|
|
#
|
|
# Render is the hosted local-sidecar demo path. The Postgres/Redis-backed team
|
|
# server is deployed through Dockerfile/docker-compose.production.yml instead.
|
|
|
|
services:
|
|
- type: web
|
|
name: waggle-server
|
|
runtime: node
|
|
plan: starter
|
|
# Build the real UI (apps/web → root /dist) and all workspace packages
|
|
# (incl. @waggle/hive-mind-core/dist, a runtime dep). The old `cd app &&
|
|
# npm run build` ran Vite in app/ — the Tauri shell, which has no src/ —
|
|
# and served a stale committed shell.
|
|
buildCommand: npm install && npm run build:all
|
|
startCommand: npx tsx packages/server/src/local/start.ts --skip-litellm
|
|
healthCheckPath: /health
|
|
envVars:
|
|
- key: NODE_ENV
|
|
value: production
|
|
- key: WAGGLE_SKIP_LITELLM
|
|
value: '1'
|
|
# Sidecar defaults to loopback (desktop-safe); a hosted web service must
|
|
# bind all interfaces, so opt in explicitly.
|
|
- key: WAGGLE_HOST
|
|
value: 0.0.0.0
|
|
- key: WAGGLE_FRONTEND_DIR
|
|
value: ./dist
|
|
- key: WAGGLE_DATA_DIR
|
|
value: /data
|
|
- key: ANTHROPIC_API_KEY
|
|
sync: false
|
|
- key: CLERK_SECRET_KEY
|
|
sync: false
|
|
- key: CLERK_PUBLISHABLE_KEY
|
|
sync: false
|
|
- key: WAGGLE_LICENSE_KEY
|
|
sync: false
|
|
# Stripe billing — without these the sidecar's checkout/webhook routes
|
|
# return 503 and tier upgrades silently never apply in the hosted deploy.
|
|
# STRIPE_SECRET_KEY: API key; STRIPE_WEBHOOK_SECRET: verifies webhook sigs.
|
|
# Prices use the 4-var period contract (priceIdForTier, stripe/index.ts):
|
|
# STRIPE_PRICE_<TIER>_<MONTHLY|ANNUAL>.
|
|
- key: STRIPE_SECRET_KEY
|
|
sync: false
|
|
- key: STRIPE_WEBHOOK_SECRET
|
|
sync: false
|
|
- key: STRIPE_PRICE_PRO_MONTHLY
|
|
sync: false
|
|
- key: STRIPE_PRICE_PRO_ANNUAL
|
|
sync: false
|
|
- key: STRIPE_PRICE_TEAMS_MONTHLY
|
|
sync: false
|
|
- key: STRIPE_PRICE_TEAMS_ANNUAL
|
|
sync: false
|
|
disk:
|
|
name: waggle-data
|
|
mountPath: /data
|
|
sizeGB: 10
|
|
autoDeploy: true
|