-
Notifications
You must be signed in to change notification settings - Fork 102
Expand file tree
/
Copy path.env.example
More file actions
152 lines (128 loc) · 5.82 KB
/
.env.example
File metadata and controls
152 lines (128 loc) · 5.82 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
# QueryWeaver example environment file
# Copy this to `.env` and edit values before running the app or the Docker image:
#
# cp .env.example .env
# # edit .env
#
# Minimal required variables for a basic run (these are left uncommented below):
# - FASTAPI_SECRET_KEY (REQUIRED)
# - FALKORDB_URL (REQUIRED) — preferred single connection string for FalkorDB
#
# Optional (commented) variables are provided as examples; uncomment and set them
# only if you need the functionality (OAuth, AI keys, local host/port overrides, etc.).
# -----------------------------
# Application / Server settings
# -----------------------------
# REQUIRED: secret used by FastAPI session middleware — change this before running in production
FASTAPI_SECRET_KEY=your_super_secret_key_here
# Optional: enable debug/reload when running the app directly
# FASTAPI_DEBUG=False
# Optional: set application environment (development, staging, production)
# Default: development
# APP_ENV=development
# General prefix for graph names used for Demo Graphs
# GENERAL_PREFIX=your_general_prefix_here
# Optional: allow OAuth over HTTP in development (disable in production)
# OAUTHLIB_INSECURE_TRANSPORT=1
# -----------------------------
# FalkorDB connection (REQUIRED / preferred)
# -----------------------------
# Preferred: single connection URL. Edit to point at your FalkorDB/Redis instance.
# Example: redis://localhost:6379/0
FALKORDB_URL=redis://localhost:6379/0 # REQUIRED - change to your FalkorDB URL
# Optional: separate host/port settings for local testing (only used if FALKORDB_URL is not set)
# FALKORDB_HOST=localhost
# FALKORDB_PORT=6379
# -----------------------------
# API / secret tokens
# -----------------------------
# Optional: static bearer token for internal / programmatic API access.
# When set, this token is accepted as a "master" API key.
# When unset, only user-generated tokens are accepted.
# SECRET_TOKEN_ERP=your_erp_token
# -----------------------------
# AI / LLM configuration (optional)
# -----------------------------
# QueryWeaver supports multiple AI providers. Set ONE of the following API keys.
# Provider selection precedence (first match wins):
# OLLAMA_MODEL > OPENAI_API_KEY > GEMINI_API_KEY > ANTHROPIC_API_KEY > COHERE_API_KEY > Azure (fallback)
#
# Optional: Override the default models (both must be from the SAME provider):
# COMPLETION_MODEL=provider/model-name
# EMBEDDING_MODEL=provider/model-name
#
# IMPORTANT: The provider must match your API key. If you set gemini/* models,
# you must have GEMINI_API_KEY set. Mismatched overrides may cause runtime errors.
#
# Examples (using Gemini - requires GEMINI_API_KEY):
# COMPLETION_MODEL=gemini/gemini-3-pro-preview
# EMBEDDING_MODEL=gemini/gemini-embedding-001
# Examples (using OpenAI - requires OPENAI_API_KEY):
# COMPLETION_MODEL=openai/gpt-4.1
# EMBEDDING_MODEL=openai/text-embedding-ada-002
# OpenAI - uses openai/gpt-4.1 and openai/text-embedding-ada-002
# OPENAI_API_KEY=your_openai_api_key
# Google Gemini - uses gemini/gemini-3-pro-preview and gemini/gemini-embedding-001
# GEMINI_API_KEY=your_gemini_api_key
# Anthropic - uses anthropic/claude-sonnet-4-5-20250929
# Note: Anthropic has no native embeddings. You MUST also set one of:
# VOYAGE_API_KEY or EMBEDDING_MODEL for embeddings (startup fails otherwise).
# ANTHROPIC_API_KEY=your_anthropic_api_key
# VOYAGE_API_KEY=your_voyage_api_key # Optional: for Voyage AI embeddings with Anthropic
# Cohere - uses cohere/command-a-03-2025 and cohere/embed-v4.0
# COHERE_API_KEY=your_cohere_api_key
# COHERE_MODEL=command-a-03-2025
# COHERE_EMBEDDING_MODEL=embed-v4.0
# Local open-source model via Ollama (through LiteLLM)
# OLLAMA_MODEL=llama3.1
# OLLAMA_EMBEDDING_MODEL=nomic-embed-text
# OLLAMA_API_BASE=http://localhost:11434
# Azure OpenAI (default fallback) - uses azure/gpt-4.1 and azure/text-embedding-ada-002
# AZURE_API_KEY=your_azure_api_key
# AZURE_API_BASE=https://your-resource.openai.azure.com/
# AZURE_API_VERSION=2023-05-15
# -----------------------------
# OAuth configuration (optional — uncomment to enable login flows)
# -----------------------------
# Google OAuth
# GOOGLE_CLIENT_ID=your_google_client_id
# GOOGLE_CLIENT_SECRET=your_google_client_secret
# GitHub OAuth
# GITHUB_CLIENT_ID=your_github_client_id
# GITHUB_CLIENT_SECRET=your_github_client_secret
# If your OAuth app uses a different base URL than the request base (e.g., using 127.0.0.1 vs localhost)
# you can override the base used for building callback URLs. Example:
# OAUTH_BASE_URL=http://localhost:5000
# -----------------------------
# Email Configuration (optional - for sending invitation emails)
# -----------------------------
# MAIL_SERVER=smtp.mailgun.org
# MAIL_PORT=587
# MAIL_USE_TLS=True
# MAIL_USERNAME=your_mail_username
# MAIL_PASSWORD=your_mail_password
# MAIL_DEFAULT_SENDER=noreply@yourdomain.com
# EMAIL_AUTH_ENABLED=false
# -----------------------------
# Frontend / analytics (optional)
# -----------------------------
# Google Tag Manager ID (optional)
# GOOGLE_TAG_MANAGER_ID=GTM-XXXXXXX
# -----------------------------
# Memory TTL (optional)
# -----------------------------
# Set a TTL (in seconds) on per-user memory graphs so they auto-expire.
# When unset, memory graphs persist indefinitely.
# Example: 604800 = 1 week
# MEMORY_TTL_SECONDS=604800
# -----------------------------
# Optional MCP (Model Context Protocol) settings
# -----------------------------
# Control QueryWeaver's built-in MCP endpoints (default: enabled)
# Set to "true" to disable mounting the MCP HTTP surface without editing code
# DISABLE_MCP=false
# Notes
# -----------------------------
# - Keep secrets out of source control. Use your local `.env` (ignored by git) or a secrets manager in production.
# - For Docker runs, pass `--env-file .env` to `docker run` or provide individual `-e` args.
# - See api/config.py for additional runtime configuration defaults and model overrides.