Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
69 lines (58 loc) · 3.16 KB
/
Copy path.env.example
File metadata and controls
69 lines (58 loc) · 3.16 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
# ============================================
# Clarify Production Configuration
# ============================================
# Copy this file to .env and fill in your production values
# NEVER commit .env to git - it's already in .gitignore
# ============================================
# Supabase (Authentication & Database)
# ============================================
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=your-anon-key-from-supabase-dashboard
SUPABASE_SERVICE_KEY=your-service-role-key-from-supabase-dashboard
# ADMIN_EMAIL — primary admin email for the v1.1 admin dashboards.
# Referenced by nuxt.config.ts:81 (adminEmail) and server/utils/auth.ts admin gate.
# MISSING → no admin can authenticate to /admin/* routes (dashboards inaccessible).
ADMIN_EMAIL=admin@example.com
# ============================================
# OpenAI (AI Analysis)
# ============================================
OPENAI_API_KEY=sk-your-openai-api-key
# ============================================
# Stripe (Payment Processing)
# ============================================
STRIPE_SECRET_KEY=sk_live_your-stripe-secret-key
STRIPE_PUBLISHABLE_KEY=pk_live_your-stripe-publishable-key
STRIPE_WEBHOOK_SECRET=whsec_your-webhook-secret
# Stripe production price IDs — server/utils/stripe-client.ts:20-39
# Each STRIPE_PRICE_ID_*_CREDITS maps a credit pack to its live Stripe price.
# MISSING → silent fallback to hard-coded test price ID for the 5-credit pack → wrong-product billing in prod.
STRIPE_PRICE_ID_5_CREDITS=price_test_REPLACE_ME_5_CREDITS
# MISSING → silent fallback to hard-coded test price ID for the 10-credit pack → wrong-product billing in prod.
STRIPE_PRICE_ID_10_CREDITS=price_test_REPLACE_ME_10_CREDITS
# MISSING → silent fallback to hard-coded test price ID for the 25-credit pack → wrong-product billing in prod.
STRIPE_PRICE_ID_25_CREDITS=price_test_REPLACE_ME_25_CREDITS
# ============================================
# Redis (BullMQ Queue Backend)
# Use Upstash for production (TLS required) or local Redis
# ============================================
REDIS_HOST=your-redis-host.upstash.io
REDIS_PORT=6379
REDIS_TOKEN=your-redis-auth-token
# ============================================
# Application
# ============================================
BASE_URL=https://clarify.yourdomain.com
# NODE_ENV — controls multiple runtime branches (dev logging, error verbosity, secure cookies).
# MISSING → defaults to "development"; production deploys MUST set "production".
NODE_ENV=production
# ALLOWED_REDIRECT_ORIGINS — comma-separated safe origins for auth redirect callbacks.
# MISSING → redirect validation falls back to BASE_URL only (may break multi-domain setups).
ALLOWED_REDIRECT_ORIGINS=https://clarify.yourdomain.com
# ============================================
# Worker Configuration
# ============================================
BULLMQ_CONCURRENCY=2
# DISABLE_WORKER — set to "true" to disable the in-process BullMQ worker.
# Used when running a dedicated worker container (HTTP-only app pods).
# MISSING → worker runs inside the Nuxt server (default, fine for single-container deploys; unset/empty is treated as "false").
DISABLE_WORKER=false