-
-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy path.env.example
More file actions
165 lines (138 loc) · 6.25 KB
/
.env.example
File metadata and controls
165 lines (138 loc) · 6.25 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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
# ============================================
# Environment Variables for Chat with Google Maps
# ============================================
# Copy this file to .env and fill in your values
# NEVER commit .env to version control!
# ============================================
# SERVER-SIDE API KEYS (api/ directory)
# ============================================
# These keys are used by the Hono API server and are NEVER exposed to the browser.
# The server acts as a proxy, keeping these keys secure.
# Required - Gemini API for maps grounding proxy
# Used by: POST /api/gemini/grounding
# Get your key from: https://aistudio.google.com/app/apikey
GEMINI_API_KEY=your-gemini-api-key-here
# Required - Google Maps API for grounding tool configuration
# Used by: Maps grounding API requests
# Get your key from: https://console.cloud.google.com/google/maps-apis/credentials
GOOGLE_MAPS_API_KEY=your-google-maps-api-key-here
# ============================================
# CLIENT-SIDE API KEYS (src/ directory)
# ============================================
# These keys are exposed to the browser and MUST have HTTP referrer restrictions
# configured in Google Cloud Console to prevent unauthorized usage.
#
# Security: Configure allowed referrers in Google Cloud Console:
# - http://localhost:* (for development)
# - https://your-production-domain.com/* (for production)
# Required - Maps JavaScript API (client-side library)
# Used by: @vis.gl/react-google-maps for rendering maps
# Restrictions: Must have HTTP referrer restrictions enabled
# Note: Falls back to GOOGLE_MAPS_API_KEY if not set
VITE_GOOGLE_MAPS_API_KEY=your-google-maps-api-key-here
# Note: VITE_GEMINI_API_KEY is NOT needed - Gemini tokens are
# fetched securely from the backend via /api/live/token endpoint
# ============================================
# GOOGLE OAUTH CREDENTIALS (Optional)
# ============================================
# Only needed if implementing user authentication
# Create OAuth credentials at: https://console.cloud.google.com/apis/credentials
#
# OAuth Consent Screen Setup:
# - App name: Your App Name
# - User support email: your-email@example.com
# - Audience: Internal or External
# - Contact information: your-email@example.com
#
# OAuth Client Setup:
# - Application type: Web Application
# - Authorized JavaScript origins: http://localhost:3003 (for dev)
# - Authorized redirect URIs: http://localhost:3003/callback (for dev)
CLIENT_ID=your-client-id.apps.googleusercontent.com
CLIENT_SECRET=your-client-secret
# ============================================
# API SERVER CONFIGURATION (Optional)
# ============================================
# Port for the Hono API server during development
# Default: 3011
API_PORT=3011
# ============================================
# DATABASE CONFIGURATION (Local Development)
# ============================================
# PostgreSQL credentials for Docker-based local development database.
# These are used by docker-compose.yml and should match DATABASE_URL below.
#
# IMPORTANT: Change POSTGRES_PASSWORD for any shared/production environments!
# Default values are suitable for local development only.
# PostgreSQL connection credentials
POSTGRES_USER=chatmaps
POSTGRES_PASSWORD=chatmaps_dev_password
POSTGRES_DB=chatmaps
# PostgreSQL port (5438 assigned to this project in PORT-MAP)
# Default: 5438
POSTGRES_PORT=5438
# Connection string for Drizzle ORM and database tools
# Format: postgresql://USER:PASSWORD@HOST:PORT/DATABASE
DATABASE_URL=postgresql://chatmaps:chatmaps_dev_password@localhost:5438/chatmaps
# ============================================
# AUTHENTICATION (Better Auth)
# ============================================
# Better Auth configuration for email/password and OAuth authentication.
# Documentation: https://better-auth.com/docs
# Required - Secret key for signing cookies and tokens
# Must be at least 32 characters long
# Generate with: openssl rand -base64 32
BETTER_AUTH_SECRET=your-secret-key-minimum-32-characters-long
# Required - Base URL for auth callbacks and redirects
# This should be your frontend URL (where users interact with auth)
# Default Vite dev server runs on port 3003
BETTER_AUTH_URL=http://localhost:3003
# ============================================
# LOGGING CONFIGURATION (Optional)
# ============================================
# Pino-based structured logging with optional file output and rotation.
# All settings have sensible defaults - only configure if needed.
# Log level: fatal | error | warn | info | debug | trace
# Default: info (production), debug (development)
# LOG_LEVEL=info
# Enable file logging (writes to LOG_DIR)
# Default: false
# LOG_TO_FILE=false
# Directory for log files (relative to project root or absolute path)
# Default: ./logs
# LOG_DIR=./logs
# Log format: json | pretty
# - json: Structured JSON (recommended for production)
# - pretty: Human-readable (development only, requires pino-pretty)
# Default: json (production), pretty (development via NODE_ENV)
# LOG_FORMAT=json
# Log rotation settings (when LOG_TO_FILE=true)
# Maximum size per log file before rotation (e.g., 10M, 100K, 1G)
# LOG_MAX_SIZE=10M
# Maximum number of rotated files to keep
# LOG_MAX_FILES=14
# Rotation interval: daily | hourly | none
# Default: daily
# LOG_ROTATION_INTERVAL=daily
# ============================================
# LANGFUSE CONFIGURATION (AI Observability)
# ============================================
# Langfuse is an open-source LLM observability platform for tracing,
# monitoring, and cost tracking AI-powered applications.
# Documentation: https://langfuse.com/docs
# Langfuse server URL (Docker Compose local deployment)
# Port 3016 assigned to this project in PORT-MAP
# Default: http://localhost:3016
LANGFUSE_BASE_URL=http://localhost:3016
# API Keys - Obtain from Langfuse dashboard after first login
# 1. Start Langfuse: npm run langfuse:start
# 2. Access UI: http://localhost:3016
# 3. Create account and project
# 4. Copy API keys from Settings > API Keys
LANGFUSE_SECRET_KEY=sk-lf-...
LANGFUSE_PUBLIC_KEY=pk-lf-...
# Langfuse Docker internal configuration
# Used by docker-compose.yml for the Langfuse server container
# IMPORTANT: Change these values in production!
LANGFUSE_NEXTAUTH_SECRET=langfuse-local-dev-secret-change-in-production
LANGFUSE_SALT=langfuse-local-dev-salt-change-in-production