-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
85 lines (70 loc) · 3.48 KB
/
.env.example
File metadata and controls
85 lines (70 loc) · 3.48 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
# ============================================
# Protocol Guide - Environment Variables
# Copy to .env and fill in your values
# ============================================
#
# Ask Tanner for the shared dev credentials.
# Only REQUIRED vars are needed to run the app.
# =============================================
# REQUIRED - App will not start without these
# =============================================
# ── Supabase (Database + Auth) ──────────────
# Get from: Supabase Dashboard > Settings > API
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=eyJ...
SUPABASE_SERVICE_ROLE_KEY=eyJ...
# PostgreSQL connection string (Supabase pooler)
# Get from: Supabase Dashboard > Settings > Database > Connection string (URI)
DATABASE_URL=postgresql://postgres.[ref]:[password]@aws-0-[region].pooler.supabase.com:5432/postgres
# ── AI Services ─────────────────────────────
# Claude API Key — powers protocol search responses
# Get from: https://console.anthropic.com/
ANTHROPIC_API_KEY=sk-ant-...
# Google AI API Key — Gemini embeddings for vector search
# Get from: https://console.cloud.google.com/
GOOGLE_API_KEY=your-google-api-key-here
# ── Authentication ──────────────────────────
# Generate both with: openssl rand -base64 32
JWT_SECRET=your-jwt-secret-min-32-chars
NEXT_AUTH_SECRET=your-nextauth-secret-min-32-chars
NEXT_AUTH_URL=http://localhost:3001
# =============================================
# OPTIONAL - App runs without these
# =============================================
# ── Stripe Payments (needed for subscription features) ──
# Get from: https://dashboard.stripe.com/test/apikeys
# Use TEST keys (sk_test_...) for development
STRIPE_SECRET_KEY=sk_test_...
STRIPE_PUBLISHABLE_KEY=pk_test_...
STRIPE_WEBHOOK_SECRET=whsec_...
STRIPE_PRO_MONTHLY_PRICE_ID=price_...
STRIPE_PRO_ANNUAL_PRICE_ID=price_...
# STRIPE_TRIAL_PERIOD_DAYS=7
# STRIPE_DOWNGRADE_ON_DISPUTE=false
# STRIPE_DEPT_STARTER_MONTHLY_PRICE_ID=price_...
# STRIPE_DEPT_STARTER_ANNUAL_PRICE_ID=price_...
# STRIPE_DEPT_PROFESSIONAL_MONTHLY_PRICE_ID=price_...
# STRIPE_DEPT_PROFESSIONAL_ANNUAL_PRICE_ID=price_...
# ── Server Config ───────────────────────────
NODE_ENV=development
PORT=3001
# LOG_LEVEL=debug
# ── Redis (rate limiting + caching) ─────────
# Not needed for local dev — falls back to in-memory
# For Docker Redis: REDIS_URL=redis://redis:6379
# For Upstash (production):
# UPSTASH_REDIS_REST_URL=https://xxx.upstash.io
# UPSTASH_REDIS_REST_TOKEN=xxx
# ── CORS ────────────────────────────────────
# CORS_ORIGINS=http://localhost:8081,http://localhost:19006
# ── Sentry Error Tracking ──────────────────
# SENTRY_DSN=https://xxx@sentry.io/xxx
# ── Email (Resend) ─────────────────────────
# RESEND_API_KEY=re_xxx
# EMAIL_FROM_ADDRESS=Protocol Guide <noreply@protocol-guide.com>
# EMAIL_REPLY_TO=support@protocol-guide.com
# ── Cron Jobs ──────────────────────────────
# CRON_SECRET=generate-with-openssl-rand-hex-32
# ── Expo Public (client-side) ──────────────
# EXPO_PUBLIC_BETA_ACCESS_CODE=
# EXPO_PUBLIC_REPORT_DEV_ERRORS=true