forked from getomnico/omni
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.env.example
More file actions
220 lines (190 loc) · 7.23 KB
/
Copy path.env.example
File metadata and controls
220 lines (190 loc) · 7.23 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
207
208
209
210
211
212
213
214
215
216
217
218
219
220
# Database Configuration
DATABASE_HOST=postgres
DATABASE_PORT=5432
DATABASE_USERNAME=omni
DATABASE_PASSWORD=omni
DATABASE_NAME=omni
DATABASE_SSL=false
DB_MAX_CONNECTIONS=10
DB_ACQUIRE_TIMEOUT_SECONDS=3
# Redis Configuration
REDIS_URL=redis://redis:6379
# Core Service Ports
WEB_PORT=3000
SEARCHER_PORT=3001
INDEXER_PORT=3002
AI_SERVICE_PORT=3003
CONNECTOR_MANAGER_PORT=3004
# Connector Service Ports
GOOGLE_CONNECTOR_PORT=4001
SLACK_CONNECTOR_PORT=4002
ATLASSIAN_CONNECTOR_PORT=4003
WEB_CONNECTOR_PORT=4004
GITHUB_CONNECTOR_PORT=4005
HUBSPOT_CONNECTOR_PORT=4006
MICROSOFT_CONNECTOR_PORT=4007
NOTION_CONNECTOR_PORT=4008
FIREFLIES_CONNECTOR_PORT=4009
IMAP_CONNECTOR_PORT=4010
CLICKUP_CONNECTOR_PORT=4011
LINEAR_CONNECTOR_PORT=4012
FILESYSTEM_CONNECTOR_PORT=4013
NEXTCLOUD_CONNECTOR_PORT=4014
PAPERLESS_CONNECTOR_PORT=4015
GOOGLE_ADS_CONNECTOR_PORT=4016
DARWINBOX_CONNECTOR_PORT=4017
WINDSHIFT_CONNECTOR_PORT=4018
# Sandbox Port
SANDBOX_PORT=8090
# Optional Service Ports
LOCAL_EMBEDDINGS_PORT=8001 # For local embedding models via TEI
DOCLING_PORT=8003 # For AI-based document conversion via Docling
LOCAL_INFERENCE_MODEL_PORT=8000 # For local LLM via llama.cpp (see docker-compose.local-inference.yml)
# =============================================================================
# Resource limits
# =============================================================================
# CPU limits are expressed in cores. Defaults are conservative for a 4-core host
# so the Omni stack does not make the machine unresponsive under load.
# Increase these values on larger machines.
OMNI_POSTGRES_CPUS=1.0
OMNI_REDIS_CPUS=0.2
OMNI_MIGRATOR_CPUS=0.25
OMNI_SEARCHER_CPUS=0.5
OMNI_INDEXER_CPUS=0.25
OMNI_AI_CPUS=0.75
OMNI_SANDBOX_CPUS=0.5
OMNI_CONNECTOR_MANAGER_CPUS=0.5
OMNI_WEB_CPUS=0.5
OMNI_CADDY_CPUS=0.2
OMNI_CONNECTOR_CPUS=0.2
OMNI_EMBEDDINGS_CPUS=0.75
DOCLING_CPUS=0.75
# Relative CPU weights used when containers contend for CPU.
OMNI_CPU_SHARES_CRITICAL=2048
OMNI_CPU_SHARES_HIGH=1024
OMNI_CPU_SHARES_NORMAL=512
OMNI_CPU_SHARES_BACKGROUND=256
OMNI_CPU_SHARES_CONNECTOR=128
OMNI_POSTGRES_MEMORY=3g
OMNI_POSTGRES_SHM_SIZE=2g
OMNI_REDIS_MEMORY=256m
OMNI_MIGRATOR_MEMORY=256m
OMNI_SEARCHER_MEMORY=512m
OMNI_INDEXER_MEMORY=512m
OMNI_AI_MEMORY=1g
OMNI_SANDBOX_MEMORY=512m
OMNI_CONNECTOR_MANAGER_MEMORY=3g
OMNI_WEB_MEMORY=2g
OMNI_CADDY_MEMORY=128m
OMNI_CONNECTOR_MEMORY=384m
OMNI_EMBEDDINGS_MEMORY=2g
DOCLING_MEMORY=2g
# =============================================================================
# Enable required connectors
#
# Enable connectors you want to run by adding their profile to ENABLED_CONNECTORS (comma-separated).
# Available connector names:
# google, google_ads, slack, atlassian, web, github, notion, hubspot, fireflies, microsoft, filesystem, imap, linear, clickup, nextcloud, paperless, darwinbox, windshift
#
# Example: ENABLED_CONNECTORS=google,slack
#
# By default, as configured below, only the web connector will run.
# =============================================================================
ENABLED_CONNECTORS=web
COMPOSE_PROFILES=${ENABLED_CONNECTORS}
# Service URLs (for inter-service communication)
SEARCHER_URL=http://searcher:${SEARCHER_PORT}
INDEXER_URL=http://indexer:${INDEXER_PORT}
AI_SERVICE_URL=http://ai:${AI_SERVICE_PORT}
CONNECTOR_MANAGER_URL=http://connector-manager:${CONNECTOR_MANAGER_PORT}
# Sandbox URL
SANDBOX_URL=http://sandbox:${SANDBOX_PORT}
# Memory (in-process in the AI service)
MEMORY_ENABLED=false
# Backend implementation. Options: mem0
MEMORY_PROVIDER=mem0
# Optional service URLs
LOCAL_EMBEDDINGS_URL=http://embeddings:${LOCAL_EMBEDDINGS_PORT}/v1
DOCLING_URL=http://docling:${DOCLING_PORT}
# Docling Configuration (AI-based document conversion)
#
# Opt-in deployment:
# 1. Set DOCLING_ENABLED=true (controls whether the Document Conversion admin
# settings page is shown).
# 2. Activate the `docling` compose profile when starting the stack, e.g.:
# docker compose -f docker/docker-compose.yml --profile docling up -d
# (or add `docling` to COMPOSE_PROFILES above).
DOCLING_ENABLED=false
DOCLING_DEVICE="" # Leave empty to pull the default, CPU-only image. Set to "cuda" to pull the CUDA-enabled image
DOCLING_MAX_CONCURRENT_CONVERSIONS=1
# Connector Manager Configuration
MAX_CONCURRENT_SYNCS=10
MAX_CONCURRENT_SYNCS_PER_TYPE=3
EXTRACTION_CONCURRENCY=2 # Max concurrent document extraction requests handled by connector-manager
EXTRACTION_RETRY_AFTER_SECONDS=30
SCHEDULER_POLL_INTERVAL_SECONDS=60
STALE_SYNC_TIMEOUT_MINUTES=60
# Session Configuration
SESSION_COOKIE_NAME=auth-session
SESSION_DURATION_DAYS=7
# Application Configuration
OMNI_VERSION=latest
APP_URL=http://localhost:3000
OMNI_DOMAIN=localhost
ACME_EMAIL=admin@yourcompany.com
# Feature Flags
AI_ANSWER_ENABLED=false # AI generated summary on search results page
AGENTS_ENABLED=false # Background/scheduled agents feature
# AI Service Configuration
AI_WORKERS=2 # The number of workers to spawn in the omni-ai service
MODEL_PATH=/models
AGENT_MAX_ITERATIONS=15
APPROVAL_TIMEOUT_SECONDS=600
# Searcher Service Configuration
RAG_CONTEXT_WINDOW=2 # The number of surrounding chunks to fetch in RAG search
SEMANTIC_SEARCH_TIMEOUT_MS=1000 # Semantic search (vector search) will timeout if it takes longer than this
# Google Workspace Connector
WEBHOOK_RENEWAL_CHECK_INTERVAL_SECONDS=3600
GOOGLE_MAX_AGE_DAYS=712 # Documents older than this will not be indexed
# Web Connector Configuration
WEB_SYNC_INTERVAL_SECONDS=86400 # Daily recrawl (24 hours)
# Optional: Spider Cloud (https://spider.cloud) for higher crawl success rates.
# Sites behind Cloudflare, a WAF, or IP/geo blocking return 403/429/503 to a
# direct fetch and are dropped from the index. Spider Cloud routes crawls
# through rotating proxies and anti-bot bypass instead.
# Leave SPIDER_CLOUD_API_KEY unset to keep the current direct-fetch behavior.
# SPIDER_CLOUD_API_KEY=sk-...
# Mode: smart (default) | proxy | unblocker | api | fallback
# smart - proxy everything, auto-escalate to the unblocker on bot walls
# proxy - proxy transport only, cheapest
# unblocker - always use the unblocker API
# api - fetch each page through the crawl API
# fallback - direct fetch first, cloud only after a failure
# SPIDER_CLOUD_MODE=smart
# SPIDER_CLOUD_API_URL=https://api.spider.cloud
# Log level for all rust services
RUST_LOG=info
RUST_BACKTRACE=
# =============================================================================
# Embedding Configuration
# =============================================================================
# Embedding provider settings (provider, model, dimensions, API key/URL) are
# managed in the database via the UI.
EMBEDDING_MAX_MODEL_LEN=8192
# AWS configuration (for online bedrock embedding/LLM provider)
AWS_REGION=
# Storage Backend. One of: s3, postgres
STORAGE_BACKEND=postgres
# Only required if STORAGE_BACKEND=s3
S3_BUCKET=your-s3-bucket
S3_REGION=your-s3-region
# Encryption Configuration. Used to encrypt sensitive keys to the connectors.
# Service account credentials, API keys/tokens, etc.
ENCRYPTION_KEY=your-encryption-key-must-be-at-least-32-characters-long
ENCRYPTION_SALT=your-salt-16-chars
# OpenTelemetry Configuration
# Leave OTEL_EXPORTER_OTLP_ENDPOINT empty for local-only telemetry
OTEL_EXPORTER_OTLP_ENDPOINT=
OTEL_DEPLOYMENT_ID=
OTEL_DEPLOYMENT_ENVIRONMENT=production
SERVICE_VERSION=0.1.0