Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.experio.cloud/llms.txt

Use this file to discover all available pages before exploring further.

Overview

System settings provide access to low-level configuration values organized by category. These settings control database connections, authentication, job processing, infrastructure, and AI model behavior. Navigate to Admin > Settings > System Settings.

Categories

Settings are organized into tabs by category:
CategoryIconDescription
LLMCPUAI model and API configuration
DBDatabaseDatabase connection settings
AUTHShieldAuthentication and security settings
CORESettingsCore application settings
JOBSBriefcaseJob processing and queue configuration
INFRAServerInfrastructure and deployment settings
Each tab shows the number of settings in that category.

Viewing Settings

Settings are displayed as key-value pairs with:
  • Setting name
  • Current value (encrypted values are masked)
  • Read-only indicator (for settings that cannot be changed from the UI)

Editing Settings

Settings marked as editable can be modified directly from the admin panel. Read-only settings must be changed through environment variables or the Django admin interface.
Only settings marked “Show in Dashboard” in the Django admin are visible here. If you need to access additional settings, use the Django admin interface or configure them via environment variables.
Changing system settings can affect the behavior of the entire platform. Ensure you understand the impact of a change before saving. Some changes may require a server restart to take effect.

Settings Reference

Legend: Settings prefixed with 🔒 store encrypted values. Settings marked (Dashboard) are visible in the admin dashboard UI. Settings marked (Client) are accessible to the frontend client application.

LLM Settings

SettingDescriptionDefaultRelated Docs
USE_AZURE_OPENAIUse Azure OpenAI for LLMTrue
USE_AZURE_OPENAI_EMBEDDINGSUse Azure OpenAI for embeddingsTrue
USE_GOOGLE_GENAIUse Google GeminiFalse
🔒 AZURE_API_KEYAzure OpenAI API key
🔒 GOOGLE_API_KEYGoogle Gemini API key
GOOGLE_GENAI_MODELGoogle GenAI model namegemini-2.0-flash
AZURE_CHAT_API_CONTEXT_WINDOWAzure OpenAI context window size (tokens)128000
AZURE_CHAT_API_DEPLOYMENTAzure OpenAI chat deployment namegpt-4o
AZURE_CHAT_API_VERSIONAzure OpenAI API version for chat2024-04-01-preview
AZURE_CHAT_API_ENDPOINTFull Azure OpenAI endpoint URL for chat(provider-specific)
AZURE_CHAT_API_TEMPERATURETemperature for Azure OpenAI chat0.0
AZURE_CHAT_API_FREQUENCY_PENALTYFrequency penalty for Azure OpenAI0.1
AZURE_CHAT_API_PRESENCE_PENALTYPresence penalty for Azure OpenAI-0.5
AZURE_EMBEDDINGS_API_DEPLOYMENTAzure OpenAI embeddings model nametext-embedding-3-large
AZURE_EMBEDDINGS_API_VERSIONAzure OpenAI API version for embeddings2023-05-15
AZURE_EMBEDDINGS_API_ENDPOINTFull Azure OpenAI endpoint URL for embeddings(provider-specific)
AZURE_EMBEDDINGS_API_DIMENSIONSDimensions for Azure OpenAI embeddings1536
🔒 AZURE_EMBEDDINGS_API_KEYAzure OpenAI API key for embeddings (optional fallback)
GOOGLE_GENAI_CONTEXT_WINDOWGoogle Gemini context window size (tokens)2000000
GOOGLE_GENAI_TEMPERATURETemperature for Google Gemini0.05
CONTEXT_SAFETY_MARGINSafety margin for context window (fraction of max)0.9
USE_AWS_BEDROCKUse AWS BedrockFalse
🔒 AWS_BEDROCK_ACCESS_KEY_IDAWS Bedrock Access Key ID
🔒 AWS_BEDROCK_SECRET_ACCESS_KEYAWS Bedrock Secret Access Key
REASONING_MODEL_CONFIG (Dashboard)Default reasoning model configurationazure-gpt4o-reasoning-defaultModel Configurations
EMBEDDING_MODEL_CONFIG (Dashboard)Default embedding model configurationazure-embedding-defaultModel Configurations
CLASSIFICATION_MODEL_CONFIG (Dashboard)Default classification model config name or UUIDModel Configurations
INGESTION_LARGE_MODEL_CONFIG (Dashboard)Default model config used for large-document ingestion pathsModel Configurations
INGESTION_SMALL_MODEL_CONFIG (Dashboard)Default model config used for small-document ingestion pathsModel Configurations
LARGE_DOCUMENT_TOKEN_THRESHOLDToken threshold for large document handling5000
LEAD_PARAGRAPH_TOKEN_THRESHOLDToken threshold for lead paragraph extraction20
MAX_LIST_CONTEXT_CHARSMaximum characters for list context1000

DB Settings

SettingDescriptionDefaultRelated Docs
USE_FALKOREnable FalkorDB supportFalse
USE_PINECONEEnable Pinecone vector searchFalse
🔒 PINECONE_API_KEYPinecone API key
USE_NEO4JEnable Neo4j graph databaseTrue
🔒 NEO4J_URI (Dashboard)Neo4j connection URI
NEO4J_DATABASE (Dashboard)Neo4j database nameneo4j
DEFAULT_NEO4J_DATABASE (Dashboard)Default Neo4j databaseneo4j
NEO4J_USER (Dashboard)Neo4j usernameneo4j
🔒 NEO4J_PASSWORD (Dashboard)Neo4j password
FALKOR_DB_USERFalkorDB username
🔒 FALKOR_DB_PASSWORDFalkorDB password

AUTH Settings

SettingDescriptionDefaultRelated Docs
VITE_USE_AUTH0 (Client)Enable Auth0 integrationFalse
VITE_CLIENT_ID (Client)Auth0 client ID
VITE_DOMAIN (Client)Auth0 domain
AUTH0_ISSUERAuth0 issuer URL
AUTH0_JWKS_URLAuth0 JWKS URL/.well-known/jwks.json
USE_PROPELAUTH (Dashboard, Client)Enable PropelAuth SSO authenticationFalseSSO Configuration
ALLOW_HYBRID_LOGIN (Dashboard, Client)Allow both password and SSO loginFalseSSO Configuration
PROPELAUTH_AUTH_URL (Dashboard)PropelAuth BYO sidecar URLhttp://propelauth:2884SSO Configuration
🔒 PROPELAUTH_API_KEY (Dashboard)PropelAuth integration API keySSO Configuration
PROPELAUTH_SSO_USERS_ACTIVE_BY_DEFAULT (Dashboard)Auto-activate SSO users on first loginTrueSSO Configuration
OAUTH2_REDIRECT_DOMAIN (Client)OAuth2 redirect domain for callback URLshttp://localhost:8080
🔒 GOOGLE_MCP_CLIENT_ID (Dashboard, Client)Google OAuth Client ID for MCP integrationIntegrations
🔒 GOOGLE_MCP_CLIENT_SECRET (Dashboard, Client)Google OAuth Client Secret for MCP integrationIntegrations
ALLOW_PASSWORD_LOGIN (Dashboard)Allow users to log in with email + password. Disable to force magic-link or SSO.True
ALLOW_MAGIC_LINK_LOGIN (Dashboard)Allow users to request a one-time magic-link login email.False
ALLOW_SELF_REGISTRATION (Dashboard)Allow anonymous users to request an account via the public register form. Disable for SSO-only tenants.True
MAGIC_LINK_TOKEN_TTL_MINUTES (Dashboard)How long a magic-link token is valid for, in minutes.15
EMAIL_PROVIDERTransactional email provider. Single supported value: azure_ecs.azure_ecs
🔒 AZURE_COMMUNICATION_CONNECTION_STRING (Dashboard)Azure Email Communication Services connection string. Required when EMAIL_PROVIDER=azure_ecs.
AZURE_ECS_SENDER_ADDRESS (Dashboard)Sender address (MailFrom) used by Azure Email Communication Services. Must be a verified address on the linked domain.login@experiolabs.ai
AUTH_FROM_DISPLAY_NAME (Dashboard)Display name rendered on the From: line of transactional emails (welcome, magic link, password reset, SSO pending approval).Experio
AUTH_REPLY_TO_ADDRESS (Dashboard)Reply-To address added to every transactional email. Should point at a monitored mailbox so user replies are not silently dropped.support@experiolabs.ai

Login Methods

ALLOW_PASSWORD_LOGIN, ALLOW_MAGIC_LINK_LOGIN, and ALLOW_SELF_REGISTRATION control which authentication paths the public login/register pages expose. They compose with USE_PROPELAUTH and ALLOW_HYBRID_LOGIN:
  • For SSO-only tenants, set ALLOW_PASSWORD_LOGIN=False, ALLOW_MAGIC_LINK_LOGIN=False, ALLOW_SELF_REGISTRATION=False, USE_PROPELAUTH=True, and ALLOW_HYBRID_LOGIN=False.
  • Magic-link login requires a working email provider (see Transactional Email below). The link is valid for MAGIC_LINK_TOKEN_TTL_MINUTES minutes.

Transactional Email Deliverability

The AZURE_ECS_SENDER_ADDRESS, AUTH_FROM_DISPLAY_NAME, and AUTH_REPLY_TO_ADDRESS settings together control how outbound auth emails appear to recipients and to mailbox spam filters:
  • The From: line is rendered as "<AUTH_FROM_DISPLAY_NAME>" <AZURE_ECS_SENDER_ADDRESS> (e.g. "Experio" <login@experiolabs.ai>).
  • A Reply-To header points at AUTH_REPLY_TO_ADDRESS so replies land in a monitored inbox instead of bouncing off the no-reply sender.
  • Every send also sets Message-ID (with the sender’s host), Date, and Auto-Submitted: auto-generated, and ships a real plain-text alternative alongside the HTML body — these reduce the chance of the message landing in junk.
  • AZURE_ECS_SENDER_ADDRESS must be a verified MailFrom on the Azure ECS linked domain. Update it (and the corresponding domain verification) if you re-brand the sender.

SSO / PropelAuth

The five PropelAuth settings (USE_PROPELAUTH, PROPELAUTH_API_KEY, PROPELAUTH_AUTH_URL, PROPELAUTH_SSO_USERS_ACTIVE_BY_DEFAULT, and ALLOW_HYBRID_LOGIN) work together to enable enterprise Single Sign-On. See the SSO Configuration page for complete setup instructions, identity provider guides, and troubleshooting.

Google Workspace Integration

The GOOGLE_MCP_CLIENT_ID and GOOGLE_MCP_CLIENT_SECRET settings enable per-user Google Workspace MCP integration. See the Integrations page for setup instructions.

CORE Settings

SettingDescriptionDefaultRelated Docs
STAFF_EMAILStaff notification email addressExperio <no-reply@experio.com>
DEFAULT_FROM_EMAILDefault sender email addressExperio <no-reply@experio.com>
CLIENT_NAME (Client)Client branding nameExperioClient Configuration
(Icon/wide logos)Stored as ClientLogo uploads in Admin — not writable as CLIENT_LOGO_* keysClient Configuration
DJANGO_SERVER_URLDjango server base URLhttp://server:8000
VITE_DEV_BACKEND_URL (Client)Development backend URL
BOX_REDIRECT_URIBox API redirect URIhttp://localhost:8080
GOOGLE_DRIVE_REDIRECT_URIGoogle Drive redirect URIhttp://localhost:8080
SHOW_CHANNEL_ID_UI (Client)Show channel ID in the UIFalse
CLIENT_TRACING_ENABLED (Client)Enable client-side telemetryFalse
CLIENT_TRACING_SCOPE (Client)Client tracing scope (disabled, errors, errors_api, full)errors
CLIENT_SIGNOZ_ENDPOINT (Client)SigNoz OTLP endpoint for client telemetry(provider-specific)
CLIENT_SIGNOZ_INGESTION_KEY (Client)SigNoz ingestion key for client telemetry
USE_KREUZBERG_PARSERUse Kreuzberg text extraction parserTrue
MCP_ENABLEDEnable Model Context ProtocolTrueMCP Servers
MCP_CONNECTION_TIMEOUTMCP connection timeout (seconds)30MCP Servers
SCOPE_MAX_COUNT_THRESHOLD (Dashboard)Max count threshold for scope phase300
SKIP_CYPHER_VALIDATION (Dashboard)Skip LLM-based Cypher validationTrue

JOBS Settings

SettingDescriptionDefaultRelated Docs
DOCLING_SERVE_ENDPOINTDocling service API endpointhttp://docling:5001
INGESTION_THREADS (Dashboard)Number of ingestion worker threads6Jobs & Monitoring
INGESTION_PARSER_CONNECTION_RETRIESMax retries for Docling connection20
INGESTION_PARSER_RETRY_SLEEP_SECONDSSleep between Docling retries (seconds)30
INGESTION_USE_MULTI_THREADINGEnable multi-threaded ingestionTrue
MINIO_RETENTION_DAYS (Dashboard)MinIO file retention (days)7
KREUZBERG_ENDPOINTKreuzberg text extractor endpointhttp://kreuzberg-text-extractor:8000
KREUZBERG_REQUEST_TIMEOUT_SECONDSKreuzberg request timeout (seconds)600
SERVICE_SECRET_KEYInternal service authentication key(auto-generated)
STRUCTURED_DATA_THREADSStructured data processing threads4
ENRICHMENT_THREADSEnrichment job worker threads4Enrichment Rules
ENRICHMENT_NODE_CONCURRENCYConcurrent nodes per enrichment job4Enrichment Rules
ENRICHMENT_RESULT_RETENTION_DAYSDays to retain EnrichmentResult rows before purge (0 = keep forever)90Enrichment Rules
SCALE_TO_ZERO_ENABLED (Dashboard)Enable scale-to-zero for job servicesFalse
SCALE_TO_ZERO_DRY_RUN (Dashboard)Scale-to-zero dry run modeFalse
SCALE_TO_ZERO_POLL_INTERVAL (Dashboard)Scale-to-zero polling interval (seconds)60
OMNISTRATE_SIDECAR_URLOmnistrate sidecar URLhttp://127.0.0.1:49750
ENABLE_FULL_SCAN_DOCUMENT_CHECKCheck for existing documents during full scansTrue
MAX_PARSED_SIZE_MBMax parsed file size (MB)10
MAX_INGESTION_CHUNKSMax chunks per document120
INGESTION_TIMEOUT_SECONDSDocument ingestion timeout (seconds)900
PHOENIX_TRACING_MODE (Dashboard)Phoenix tracing mode (disabled, central, cluster)disabled
PHOENIX_ENDPOINT (Dashboard)Phoenix endpoint URL(provider-specific)
PHOENIX_TRACING_SCOPE (Dashboard)Phoenix tracing scope (jobs, retrieval, all)all

INFRA Settings

SettingDescriptionDefaultRelated Docs
RABBITMQ_HOSTRabbitMQ server hostnamerabbitmq-0
RABBITMQ_USERRabbitMQ usernameadmin
🔒 RABBITMQ_PASSRabbitMQ password
RABBITMQ_PORTRabbitMQ server port5672
RABBITMQ_PUBLISHER_HEARTBEATPublisher heartbeat interval (seconds)20
RABBITMQ_PUBLISHER_BLOCKED_TIMEOUTPublisher blocked connection timeout (seconds)60
RABBITMQ_CONSUMER_HEARTBEATConsumer heartbeat interval (seconds)20
RABBITMQ_CONSUMER_BLOCKED_TIMEOUTConsumer blocked connection timeout (seconds)60
MINIO_ENDPOINTMinIO server endpointminio-0:9000
MINIO_ACCESS_KEYMinIO access keyadmin
🔒 MINIO_SECRET_KEYMinIO secret key
MINIO_SECUREEnable MinIO TLSFalse
SIGNOZ_QUERY_ENDPOINT (Dashboard)SigNoz Query API base URL
🔒 SIGNOZ_QUERY_API_KEY (Dashboard)SigNoz Query API access token