forked from Umbrella-io/devtrack
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
73 lines (59 loc) · 2.98 KB
/
Copy path.env.example
File metadata and controls
73 lines (59 loc) · 2.98 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
# -------------------------------------------------------
# Supabase
# Project Settings → API → Project URL
NEXT_PUBLIC_SUPABASE_URL=https://your-project-ref.supabase.co
# Project Settings → API → anon / public key
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
# Project Settings → API → service_role secret (server-side only — never expose client-side)
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
# -------------------------------------------------------
# NextAuth
# MUST match the deployed origin exactly (no trailing slash).
# Local: http://localhost:3000
# Production: https://devtrack-delta.vercel.app (set this in Vercel env vars)
# Wrong value causes OAuth callback URL mismatch → error=github on sign-in.
NEXTAUTH_URL=http://localhost:3000
# Generate with: openssl rand -base64 32
NEXTAUTH_SECRET=your_nextauth_secret
# -------------------------------------------------------
# GitHub OAuth App
# github.com/settings/applications/new → Client ID
GITHUB_ID=your_github_oauth_client_id
# github.com/settings/applications/new → Client Secret
GITHUB_SECRET=your_github_oauth_client_secret
# -------------------------------------------------------
# GitHub Webhook (optional — enables real-time metric refresh on push)
# Generate with: openssl rand -hex 32
GITHUB_WEBHOOK_SECRET=your_github_webhook_secret
# -------------------------------------------------------
# GitHub Personal Access Token (optional — increases API rate limits)
# github.com/settings/tokens → Fine-grained or classic PAT
GITHUB_TOKEN=your_github_personal_access_token
# -------------------------------------------------------
# Encryption key — required for OAuth token encryption in src/lib/crypto.ts
# Without this the app crashes on first OAuth callback
# Generate with: openssl rand -hex 32
ENCRYPTION_KEY=your_32_byte_hex_encryption_key
# -------------------------------------------------------
# Upstash Redis (optional — used for caching; app degrades gracefully without it)
# upstash.com → Create Database → REST API
UPSTASH_REDIS_REST_URL=your_upstash_redis_rest_url
UPSTASH_REDIS_REST_TOKEN=your_upstash_redis_rest_token
# -------------------------------------------------------
# Anthropic Claude (optional — enables AI-generated weekly summaries in the
# AI Mentor widget). Without this key the widget still works and shows
# rule-based insights only.
# console.anthropic.com → API Keys
# ANTHROPIC_API_KEY=sk-ant-...
# -------------------------------------------------------
# Groq API Key (optional — enables AI-generated weekly summaries in the
# AI Mentor widget using Llama-3).
# console.groq.com → API Keys
GROQ_API_KEY=gsk_...
# -------------------------------------------------------
# Leaderboard Configuration
# Controls concurrent user fetches during leaderboard builds
# Safe range: 1-100 (default: 5)
# Higher values = faster builds but more resource usage
# WARNING: Do not exceed 100 without load testing — risks memory exhaustion
LEADERBOARD_USER_CONCURRENCY=5