-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
92 lines (76 loc) · 4.56 KB
/
.env.example
File metadata and controls
92 lines (76 loc) · 4.56 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
# ============================================================
# OpenHelm — Environment Variables Reference
# Copy this file to .env.local (frontend) or set as secrets
# in the relevant services. Never commit actual secrets.
# ============================================================
# ── Supabase (all services) ──────────────────────────────────────────────────
# Found at: Supabase Dashboard → Settings → API
# Public (anon) key — safe to expose in frontend JS bundle
VITE_SUPABASE_URL=https://your-project.supabase.co
VITE_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
# Service role key — NEVER expose to frontend; only in Worker Service
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_SERVICE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
# ── Worker Service (Fly.io secrets) ──────────────────────────────────────────
# Set via: fly secrets set KEY=value --app openhelm-worker
# OpenRouter API key — routes to OpenAI (gpt-4o, gpt-4o-mini) and other models via a single key.
# Get yours at: https://openrouter.ai/keys
# Set via: fly secrets set OPENROUTER_API_KEY=sk-or-v1-... --app openhelm-worker
OPENROUTER_API_KEY=sk-or-v1-...
# E2B sandbox platform
E2B_API_KEY=e2b_...
E2B_TEMPLATE_ID=zbo3wmwqm9fq4ta26zyh # Paste the ID printed by `cd e2b && e2b template build`
# Stripe billing
STRIPE_SECRET_KEY=sk_live_... # Use sk_test_... for development
STRIPE_PRICE_BASIC=price_... # GBP 39/month — Basic plan (GBP default)
STRIPE_PRICE_PRO=price_... # GBP 89/month — Pro plan (GBP default)
STRIPE_PRICE_MAX=price_... # GBP 189/month — Max plan (GBP default)
# Per-currency price IDs (optional — falls back to GBP default above)
STRIPE_PRICE_BASIC_GBP=price_...
STRIPE_PRICE_BASIC_USD=price_...
STRIPE_PRICE_BASIC_EUR=price_...
STRIPE_PRICE_BASIC_CAD=price_...
STRIPE_PRICE_BASIC_AUD=price_...
STRIPE_PRICE_PRO_GBP=price_...
STRIPE_PRICE_PRO_USD=price_...
STRIPE_PRICE_PRO_EUR=price_...
STRIPE_PRICE_PRO_CAD=price_...
STRIPE_PRICE_PRO_AUD=price_...
STRIPE_PRICE_MAX_GBP=price_...
STRIPE_PRICE_MAX_USD=price_...
STRIPE_PRICE_MAX_EUR=price_...
STRIPE_PRICE_MAX_CAD=price_...
STRIPE_PRICE_MAX_AUD=price_...
# Worker public URL (used for Stripe redirect URLs)
APP_URL=https://app.openhelm.ai
WORKER_URL=https://openhelm-worker.fly.dev
# ── Supabase Edge Functions (set in Supabase Dashboard → Settings → Edge Functions) ──
# Stripe webhook signing secret (from Stripe Dashboard → Webhooks)
STRIPE_WEBHOOK_SECRET=whsec_...
# STRIPE_PRICE_MAP — JSON map of Stripe price IDs to plan names
# Example: {"price_xxx": "basic", "price_yyy": "pro", "price_zzz": "max"}
STRIPE_PRICE_MAP={}
# ── Frontend (Vite .env.local) ────────────────────────────────────────────────
# Worker Service URL for RPC calls
VITE_WORKER_URL=https://openhelm-worker.fly.dev
# Sentry DSN for frontend error/log reporting.
# Enabled by default for all users (including anonymous). Users can opt out
# via Settings → Application → "Share anonymous error reports".
#
# We run TWO Sentry projects so local desktop bugs and cloud-hosted bugs
# are kept apart and triaged independently:
# • openhelm-local — local Tauri builds (set this DSN in your .env.local)
# • openhelm-cloud — cloud Vercel build (set in Vercel env vars)
# Set in Vercel → Project Settings → Environment Variables for cloud, and
# in this .env.local for local Tauri builds.
VITE_SENTRY_DSN=https://...@o0.ingest.de.sentry.io/<openhelm-local-or-openhelm-cloud-id>
# ── Error reporting (agent sidecar + Worker Service) ─────────────────────────
# Same default-on policy as the frontend, also split across two projects:
# • Agent sidecar (runs locally) → openhelm-local DSN — bake at build time
# via SENTRY_DSN in this .env.local.
# • Worker Service (Fly) → openhelm-cloud DSN — set on Fly:
# fly secrets set SENTRY_DSN=https://...@sentry.io/... --app openhelm-worker
SENTRY_DSN=https://...@o0.ingest.de.sentry.io/<openhelm-local-or-openhelm-cloud-id>
# ── Local Agent Sidecar ───────────────────────────────────────────────────────
# OpenHelm website proxy URL (for local-mode Stripe license validation)
OPENHELM_WEBSITE_URL=https://www.openhelm.ai