-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathenv.example
More file actions
159 lines (142 loc) · 5.81 KB
/
Copy pathenv.example
File metadata and controls
159 lines (142 loc) · 5.81 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
# MONITOR repository environment variables
# Copy this file to .env and fill in your own values.
# =============================================================================
# UI Backend
# =============================================================================
UI_HOST=0.0.0.0
UI_PORT=8000
# Comma-separated list of allowed CORS origins for the FastAPI server
UI_CORS_ORIGINS=http://localhost:3000
# =============================================================================
# Core database credentials (used by infra/docker-compose.yml)
# =============================================================================
NEO4J_PASSWORD=changeme-neo4j
MONGODB_PASSWORD=changeme-mongodb
MINIO_PASSWORD=changeme-minio
OPENSEARCH_PASSWORD=changeme-opensearch
POSTGRES_PASSWORD=changeme-postgres
NEO4J_URI=bolt://localhost:7687
NEO4J_USER=neo4j
# Pydantic Settings does NOT expand ${VAR}; hardcode the password here.
# When changing MONGODB_PASSWORD, update this URI in lockstep.
MONGODB_URI=mongodb://monitor:changeme-mongodb@localhost:27017/monitor?authSource=admin
QDRANT_URI=http://localhost:6333
# Storage backend selector:
# minio = local MinIO or any S3-compatible service via MINIO_* / STORAGE_ENDPOINT
# s3 = AWS S3 (leave STORAGE_ENDPOINT blank for AWS)
# folder = store uploaded files directly on disk
STORAGE_BACKEND=minio
STORAGE_ENDPOINT=
STORAGE_FALLBACK_TO_LOCAL=true
LOCAL_STORAGE_PATH=.local_storage
MINIO_ENDPOINT=http://localhost:9000
MINIO_ACCESS_KEY=monitor
MINIO_SECRET_KEY=${MINIO_PASSWORD}
OPENSEARCH_URL=https://localhost:9200
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_USER=monitor
POSTGRES_DB=monitor
REDIS_URL=redis://localhost:6379/0
REDIS_ENABLED=true
REDIS_KEY_PREFIX=monitor
# =============================================================================
# MCP server configuration
# =============================================================================
MCP_SERVER_PORT=8080
MCP_AUTH_SECRET=replace-with-random-secret
# =============================================================================
# Performance tuning
# =============================================================================
NEO4J_HEAP_INITIAL=512m
NEO4J_HEAP_MAX=2G
NEO4J_PAGECACHE=1G
MONGODB_CACHE_SIZE=1024
QDRANT_M=16
QDRANT_EF_CONSTRUCT=100
# =============================================================================
# LLM + embedding configuration
# =============================================================================
# LLM_PROVIDER is intentionally NOT set here — the runtime resolves provider
# from the `llm_providers` PostgreSQL table (seeded by `monitor init` or the
# scripts/seed_*_provider.py scripts). See docs/architecture/LLM_REGISTRY.md.
LLM_MODEL=claude-sonnet-4-20250514
LLM_TEMPERATURE=0.7
LLM_MAX_TOKENS=4096
ANTHROPIC_API_KEY=
OPENAI_API_KEY=
# GitHub Models (PAT with models:read scope — any of these three is accepted)
GITHUB_MODELS_TOKEN=
# GITHUB_TOKEN=
# GH_TOKEN=
GITHUB_MODELS_BASE_URL=https://models.github.ai/inference
GITHUB_MODELS_MODEL=gpt-4.1-mini
# Google AI Studio (Gemini)
GOOGLE_API_KEY=
GOOGLE_MODEL=gemini-2.5-flash
# Z.AI (ZhipuAI)
Z_AI_API_KEY=your_z_ai_api_key_here
Z_AI_MODEL=glm-5.1
Z_AI_BASE_URL=https://api.z.ai/api/coding/paas/v4
# MiniMax AI
MINIMAX_API_KEY=
MINIMAX_BASE_URL=https://api.minimax.io/anthropic
# Local Ollama
OLLAMA_ENDPOINT=http://localhost:11434
OLLAMA_MODEL=qwen2.5:latest
EMBEDDING_PROVIDER=ollama
EMBEDDING_MODEL=nomic-embed-text:latest
EMBEDDING_DIMENSION=768
# Vision model for image ingestion (must support image_url content)
# Options: gpt-4o-mini, gpt-4o, claude-3-5-sonnet-20241022, gemini/gemini-1.5-flash
VISION_MODEL=gpt-4o-mini
# =============================================================================
# Ingestion queue tuning
# =============================================================================
# Keep at 1 unless you have measured that your machine and LLM provider can
# safely handle parallel ingestion.
MONITOR_INGEST_MAX_WORKERS=1
MONITOR_INGEST_TIMEOUT=2700
MONITOR_MAX_INGEST_FILE_BYTES=209715200
REDIS_CACHE_TTL_SECONDS=30
REDIS_SOLO_PLAY_TTL_SECONDS=15
REDIS_SOCKET_TIMEOUT=0.15
REDIS_CONNECT_TIMEOUT=0.15
# =============================================================================
# Observability + flags
# =============================================================================
LOG_LEVEL=INFO
ENABLE_METRICS=true
METRICS_ENDPOINT=http://prometheus:9090
ENVIRONMENT=development
DEBUG=false
ENABLE_CORS=true
CORS_ORIGINS=http://localhost:3000,http://localhost:5173
# =============================================================================
# NLP / GLiNER (Named Entity Recognition)
# =============================================================================
NLP_ENABLED=true
# Default to spaCy (bundled, fast). GLiNER is opt-in via --profile gliner.
NLP_BACKEND=spacy
GLINER_PORT=8082
GLINER_MODEL=knowledgator/gliner-base-v0.1
GLINER_MAX_LENGTH=384
GLINER_BATCH_SIZE=8
GLINER_CPUS=2.0
GLINER_MEMORY=4G
ENTITY_EXTRACTION_ENABLED=true
ENTITY_TYPES=person,location,organization,product,event,work_of_art,law,language,date,time,percent,money,quantity,ordinal,cardinal
# ── Observability (T-044) ────────────────────────────────────
# Agent calls are traced with logfire (OpenTelemetry-compatible).
# Local-only by default. To export spans:
# LOGFIRE_TOKEN=... # send to logfire cloud, or
# OTEL_EXPORTER_OTLP_ENDPOINT=... # any OTLP collector (e.g. http://localhost:4318)
LOGFIRE_SEND_TO_LOGFIRE=false
#LOGFIRE_TOKEN=
#OTEL_EXPORTER_OTLP_ENDPOINT=
# --- Docker networking ---
# When the backend runs in Docker and a provider row points at a service on
# the HOST (ollama http://localhost:11434, LM Studio, ...), rewrite localhost
# to this hostname. docker-compose sets this automatically; leave empty for
# bare-metal runs.
MONITOR_LOCALHOST_REWRITE=