-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
120 lines (107 loc) · 4.08 KB
/
Copy path.env.example
File metadata and controls
120 lines (107 loc) · 4.08 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
# ================================
# AlertFrame - Local Development Environment
# ================================
# Copy this file to .env and fill in your values
# Never commit .env to git - it's in .gitignore
# ================================
# DATABASE (REQUIRED)
# ================================
DATABASE_URL="postgresql://user:password@localhost:5432/alertdb"
# Get from: https://supabase.com/dashboard/project/_/settings/database
# Local: Use local PostgreSQL or Supabase development instance
# Production: Use Supabase Session Pooler connection string
# ================================
# APP CONFIGURATION (REQUIRED)
# ================================
NODE_ENV="development"
APP_URL="http://localhost:3000"
# ================================
# NEXTAUTH AUTHENTICATION (REQUIRED)
# ================================
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET="generate-random-secret-here"
# Generate with: openssl rand -base64 32
# Must be at least 32 characters
# ================================
# GOOGLE OAUTH (REQUIRED)
# ================================
GOOGLE_CLIENT_ID="your-google-client-id.apps.googleusercontent.com"
GOOGLE_CLIENT_SECRET="GOCSPX-your-google-client-secret"
# Get from: https://console.cloud.google.com/apis/credentials
#
# Setup Instructions:
# 1. Create OAuth 2.0 Client ID
# 2. Add authorized redirect URI: http://localhost:3000/api/auth/callback/google
# 3. Add authorized JavaScript origin: http://localhost:3000
# 4. Enable Gmail API
# 5. Copy Client ID and Secret here
# ================================
# ENCRYPTION (REQUIRED)
# ================================
ENCRYPTION_KEY="your_encryption_key_here"
# Generate with: openssl rand -base64 32
# Used to encrypt OAuth tokens stored in database
# ================================
# EMAIL FALLBACK (OPTIONAL)
# ================================
RESEND_API_KEY="re_xxxxxxxxxxxxxxxxxx"
EMAIL_FROM="alerts@yourdomain.com"
# Get from: https://resend.com/api-keys
# Optional: Fallback if Gmail OAuth fails
# You can use: onboarding@resend.dev for testing
# ================================
# CHROME MCP (OPTIONAL)
# ================================
CHROME_MCP_ENABLED="true"
CHROME_EXECUTABLE_PATH=""
# Path to Chrome browser for visual element selector
# Mac: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
# Linux: /usr/bin/google-chrome
# Windows: C:\Program Files\Google\Chrome\Application\chrome.exe
# Leave empty to use system default
# ================================
# PUPPETEER / SCRAPING (REQUIRED)
# ================================
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD="false"
# Local: Set to "false" (uses bundled Chromium)
# Vercel: Set to "true" (uses @sparticuz/chromium)
PUPPETEER_EXECUTABLE_PATH=""
# Leave empty for local development
# Vercel handles this automatically
# Proxy (if needed for scraping)
HTTP_PROXY=""
HTTPS_PROXY=""
# ================================
# WORKER CONFIGURATION (OPTIONAL)
# ================================
API_URL="http://localhost:3000"
CHECK_INTERVAL="* * * * *"
# Cron format for local worker (npm run worker)
# Examples:
# * * * * * = every 1 minute (testing)
# */2 * * * * = every 2 minutes
# */5 * * * * = every 5 minutes
# */10 * * * * = every 10 minutes
# 0 * * * * = every hour
# Note: In production, use cron-job.org or Vercel Cron instead
# ================================
# CRON SECURITY (REQUIRED FOR PRODUCTION)
# ================================
CRON_SECRET="your-secure-random-secret"
# Generate with: openssl rand -base64 32
# Used to protect /api/cron/check-alerts endpoint
# External cron services send this as: Authorization: Bearer YOUR_SECRET
# ================================
# QUICK START GUIDE
# ================================
# 1. Copy this file: cp .env.example .env
# 2. Update DATABASE_URL with your database connection
# 3. Generate secrets: openssl rand -base64 32
# 4. Set up Google OAuth (see instructions above)
# 5. Run: npm run dev
# 6. Visit: http://localhost:3000
#
# For production deployment, see:
# - VERCEL_ENV_VARIABLES.txt (copy to Vercel Dashboard)
# - VERCEL_ENV_SETUP.md (environment guide)
# - DEPLOYMENT.md (complete deployment guide)