-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
94 lines (78 loc) · 3.18 KB
/
Copy path.env.example
File metadata and controls
94 lines (78 loc) · 3.18 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
# ============================================================
# AI-Driven Anti-Fragile Supply Chain — Environment Variables
# 1. Copy this file to .env and fill in all values
# 2. Run: bash scripts/copy-env.sh
# ============================================================
# ---- Gemini AI Studio ----
# Get free API key at: aistudio.google.com
GEMINI_API_KEY=
# Optional model override (recommended)
GEMINI_MODEL=gemini-2.5-flash
# ---- Firebase Admin SDK (server-side, never expose to browser) ----
# From Firebase Console > Project Settings > Service Accounts > Generate New Private Key
FIREBASE_PROJECT_ID=
FIREBASE_CLIENT_EMAIL=
FIREBASE_PRIVATE_KEY=
# ---- Supabase (server-side, never expose anon key in agents) ----
# From Supabase Dashboard > Project Settings > API
SUPABASE_URL=
SUPABASE_SERVICE_ROLE_KEY=
# ---- Service URLs ----
EVENT_BUS_URL=http://localhost:4000
DISRUPTION_AGENT_URL=http://localhost:3001
IMPACT_AGENT_URL=http://localhost:3002
RESOLUTION_AGENT_URL=http://localhost:3003
# ---- External Data Sources ----
# UN Comtrade API (free registration at comtradeplus.un.org)
# Required for trade-weighted impact scoring. Without it, weight defaults to 1.0 (no effect).
UN_COMTRADE_KEY=
# AIS Stream API (free registration at aisstream.io)
# Required for real-time vessel position tracking on the globe.
# Without it, the AIS WebSocket is disabled and vesselPositions collection stays empty.
AIS_STREAM_API_KEY=
# ---- News Intelligence Agent ----
# GDELT does not need a key.
NEWSAPI_KEY=
# Lower to 0.40 for development to surface more articles in the news feed.
NEWS_RELEVANCE_THRESHOLD=0.65
# Use one of these polling modes:
NEWS_POLL_INTERVAL_MS=900000
NEWS_CRON_SCHEDULE=*/15 * * * *
INTERNAL_TOKEN=change_this_before_deploy
# ---- Firebase Client SDK (browser-safe, protected by Firestore Rules) ----
# From Firebase Console > Project Settings > Your Apps > Web App > Config
NEXT_PUBLIC_FIREBASE_API_KEY=
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=
NEXT_PUBLIC_FIREBASE_PROJECT_ID=
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=
NEXT_PUBLIC_FIREBASE_APP_ID=
# ---- Cesium Ion (optional but recommended for globe quality) ----
# Free tier at ion.cesium.com - enables Cesium World Terrain + Bing aerial imagery
# Without this, the globe falls back to OpenStreetMap tiles (flat, no terrain)
NEXT_PUBLIC_CESIUM_ION_TOKEN=
# ---- Supabase Anon Key (browser-safe, respects RLS) ----
# From Supabase Dashboard > Project Settings > API > anon public
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
# Agent service URLs for client-side SSE and health polling
NEXT_PUBLIC_DISRUPTION_AGENT_URL=http://localhost:3001
NEXT_PUBLIC_IMPACT_AGENT_URL=http://localhost:3002
NEXT_PUBLIC_RESOLUTION_AGENT_URL=http://localhost:3003
NEXT_PUBLIC_NEWS_AGENT_URL=http://localhost:3005
NEXT_PUBLIC_EVENT_BUS_URL=http://localhost:4000
# ---- Push Notifications (web-push) ----
VAPID_EMAIL=
VAPID_PUBLIC_KEY=
VAPID_PRIVATE_KEY=
NEXT_PUBLIC_VAPID_PUBLIC_KEY=
# ---- Email Digest (Brevo) ----
BREVO_API_KEY=
BREVO_SENDER_EMAIL=
BREVO_SENDER_NAME=
DIGEST_EMAIL=
# ---- App URL (for email links) ----
NEXT_PUBLIC_APP_URL=http://localhost:3000
# ---- Multi-tenancy ----
DEFAULT_ORG_ID=demo-org
AUTH_REQUIRED=false