-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathenv.example
More file actions
207 lines (178 loc) · 8.09 KB
/
Copy pathenv.example
File metadata and controls
207 lines (178 loc) · 8.09 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
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
# Dashboard Local Development Environment Variables
# Copy this file to .env and fill in your actual values
# .env file is in .gitignore and will not be committed
# ============================================================================
# DOCKER IMAGE VERSIONS - Optional Version Pinning
# ============================================================================
# By default, 'latest' images are pulled from Docker Hub
# Uncomment and specify versions if you want to pin specific releases
# SCHEMA_SERVICE_VERSION=latest
# NEXUS_VERSION=latest
# FRONTEND_VERSION=latest
# TRINO_VERSION=477 # Official Trino version (trinodb/trino:477)
# PREDICTION_XGBOOST_VERSION=latest
# PREDICTION_LIGHTGBM_VERSION=latest
# PREDICTION_AUTOGLUON_VERSION=latest
# AUTOGLUON_PRESET=fast_training # Options: fast_training (CPU), medium_quality, best_quality (GPU)
# ============================================================================
# EXTERNAL LLM CONFIGURATION - Required for SQL generation
# ============================================================================
# Actyze supports ANY LLM provider with flexible authentication
# Configure API key, auth type, and extra headers based on your provider
# DEFAULT: Anthropic Claude (x-api-key authentication)
ANTHROPIC_API_KEY=your-anthropic-api-key-here
# ALTERNATIVE PROVIDERS - See examples below:
# Perplexity: PERPLEXITY_API_KEY=your-perplexity-api-key-here
# OpenAI: OPENAI_API_KEY=your-openai-api-key-here
# Groq: GROQ_API_KEY=your-groq-api-key-here
# ============================================================================
# DATABASE CREDENTIALS - PostgreSQL Configuration
# ============================================================================
POSTGRES_HOST=postgres
POSTGRES_PORT=5432
POSTGRES_DB=dashboard
POSTGRES_USER=nexus_service
POSTGRES_PASSWORD=your-secure-password-here
# For external PostgreSQL (uncomment and modify):
# POSTGRES_HOST=your-external-postgres-host
# POSTGRES_PORT=5432
# POSTGRES_DB=your-database-name
# POSTGRES_USER=your-database-user
# POSTGRES_PASSWORD=your-secure-password
# ============================================================================
# TRINO CONFIGURATION - Query Engine Settings
# ============================================================================
# For local Trino (default):
TRINO_HOST=trino
TRINO_PORT=8080
TRINO_USER=admin
TRINO_PASSWORD=
TRINO_CATALOG=postgres
TRINO_SCHEMA=public
TRINO_SSL=false
# For external Trino (uncomment and modify):
# TRINO_HOST=your-external-trino-host
# TRINO_PORT=443
# TRINO_USER=your-trino-username
# TRINO_PASSWORD=your-trino-password
# TRINO_CATALOG=your-catalog
# TRINO_SCHEMA=your-schema
# TRINO_SSL=true
# TRINO_SSL_VERIFY=false # Set to false for self-signed certificates
#
# Exclude problematic catalogs (comma-separated list)
# Useful for external Trino instances with catalogs that have connection issues
# Example: EXCLUDED_CATALOGS=och,problematic_catalog
# EXCLUDED_CATALOGS=
# ============================================================================
# EXTERNAL DATA SOURCES - Trino Catalogs
# ============================================================================
# Configure additional data source connections for Trino
# These are optional - uncomment and configure as needed
# MongoDB Atlas
# MONGODB_CONNECTION_URL=mongodb+srv://username:password@cluster.mongodb.net/?appName=YourApp
# Snowflake Data Warehouse
# SNOWFLAKE_CONNECTION_URL=jdbc:snowflake://account.snowflakecomputing.com/?warehouse=YOUR_WH&db=YOUR_DB&role=YOUR_ROLE
# SNOWFLAKE_USER=your-snowflake-username
# SNOWFLAKE_PASSWORD=your-snowflake-password
# ============================================================================
# TIMEOUT CONFIGURATION
# ============================================================================
# Controls Trino SQL execution timeout AND the frontend HTTP request timeout
# Increase for slow/large Trino queries (enterprise clusters can be slow)
EXECUTE_TIMEOUT_SECONDS=120
# Overall NL→SQL pipeline timeout (LLM generation + schema recommendations)
DEFAULT_TIMEOUT_SECONDS=120
# LLM API call timeout (Bedrock/Anthropic/OpenAI/etc.)
EXTERNAL_LLM_TIMEOUT=120
# ============================================================================
# SERVICE CONFIGURATION - Development Settings
# ============================================================================
# Nexus Service Settings
DEBUG=true
LOG_LEVEL=INFO
# Schema Service Settings
SCHEMA_SERVICE_HOST=schema-service
SCHEMA_SERVICE_PORT=8000
# Service-to-Service Authentication
# Simple shared secret for internal service communication (Nexus <-> Schema Service)
# Generate a strong random key for production (32+ characters)
SCHEMA_SERVICE_KEY=dev-secret-key-change-in-production
# Cache Configuration
CACHE_ENABLED=true
CACHE_QUERY_MAX_SIZE=100
CACHE_QUERY_TTL=1800
# ============================================================================
# PREFERRED TABLES CONFIGURATION
# ============================================================================
# Maximum number of tables a user can mark as preferred
# Preferred tables are prioritized by AI when generating SQL queries
# Default: 50 (recommended range: 20-100)
# Note: This value is hardcoded in docker-compose.yml (not read from .env)
# MAX_PREFERRED_TABLES=25
# ============================================================================
# EXTERNAL LLM PROVIDER SETTINGS - Flexible Configuration
# ============================================================================
EXTERNAL_LLM_ENABLED=true
# -------------------------
# OPTION 1: Anthropic Claude (Default)
# -------------------------
EXTERNAL_LLM_PROVIDER=anthropic
EXTERNAL_LLM_BASE_URL=https://api.anthropic.com/v1/messages
EXTERNAL_LLM_MODEL=claude-sonnet-4-20250514
EXTERNAL_LLM_AUTH_TYPE=x-api-key
EXTERNAL_LLM_EXTRA_HEADERS={"anthropic-version": "2023-06-01"}
# -------------------------
# OPTION 2: Perplexity
# -------------------------
# EXTERNAL_LLM_PROVIDER=perplexity
# EXTERNAL_LLM_BASE_URL=https://api.perplexity.ai/chat/completions
# EXTERNAL_LLM_MODEL=sonar-reasoning-pro
# EXTERNAL_LLM_AUTH_TYPE=bearer
# EXTERNAL_LLM_EXTRA_HEADERS=
# -------------------------
# OPTION 3: OpenAI
# -------------------------
# EXTERNAL_LLM_PROVIDER=openai
# EXTERNAL_LLM_BASE_URL=https://api.openai.com/v1/chat/completions
# EXTERNAL_LLM_MODEL=gpt-4o
# EXTERNAL_LLM_AUTH_TYPE=bearer
# EXTERNAL_LLM_EXTRA_HEADERS=
# -------------------------
# OPTION 4: Groq
# -------------------------
# EXTERNAL_LLM_PROVIDER=groq
# EXTERNAL_LLM_BASE_URL=https://api.groq.com/openai/v1/chat/completions
# EXTERNAL_LLM_MODEL=llama-3.3-70b-versatile
# EXTERNAL_LLM_AUTH_TYPE=bearer
# EXTERNAL_LLM_EXTRA_HEADERS=
# -------------------------
# OPTION 5: AWS Bedrock
# -------------------------
# EXTERNAL_LLM_PROVIDER=bedrock
# EXTERNAL_LLM_BASE_URL=https://bedrock-runtime.us-east-2.amazonaws.com/model/us.anthropic.claude-sonnet-4-5-20250929-v1:0/converse
# EXTERNAL_LLM_MODEL=us.anthropic.claude-sonnet-4-5-20250929-v1:0
# EXTERNAL_LLM_AUTH_TYPE=bearer
# EXTERNAL_LLM_EXTRA_HEADERS=
# Note: Use AWS bearer token as ANTHROPIC_API_KEY (refresh every 12 hours)
# Common LLM Settings (applies to all providers)
EXTERNAL_LLM_MAX_TOKENS=4096
EXTERNAL_LLM_TEMPERATURE=0.1
# -------------------------
# Authentication Types Reference:
# -------------------------
# - "bearer": OpenAI, Perplexity, Groq, Together AI, AWS Bedrock (Authorization: Bearer TOKEN)
# - "x-api-key": Anthropic Claude (x-api-key: TOKEN)
# - "api-key": Azure OpenAI (api-key: TOKEN)
#
# Extra Headers: JSON string for provider-specific headers
# Example: {"anthropic-version": "2023-06-01"} for Claude
# ============================================================================
# SEMANTIC RELATIONSHIP GRAPH
# ============================================================================
# Enable graph-backed table relationships for intelligent JOIN resolution.
# When enabled, the system uses a persistent relationship graph (populated via
# convention inference, query history mining, and admin curation) to provide
# the LLM with accurate JOIN paths instead of guessing from column names.
# Falls back gracefully to column-name inference when disabled or graph is empty.
RELATIONSHIP_GRAPH_ENABLED=true