# Copy this file to .env so it's picked up by the docker compose yaml files # Uncomment the values you would like to set # No edits necessary, works out of the box ################################################################################ ## COMMONLY MODIFIED CONFIGURATIONS ################################################################################ ## Version of Onyx to deploy, default is latest (main built nightly) IMAGE_TAG=latest ## Auth Settings ### https://docs.onyx.app/deployment/authentication AUTH_TYPE=disabled # SESSION_EXPIRE_TIME_SECONDS= ### Recommend to set this for security # ENCRYPTION_KEY_SECRET= ### Optional # API_KEY_HASH_ROUNDS= ### You can add a comma separated list of domains like onyx.app, only those domains will be allowed to signup/log in # VALID_EMAIL_DOMAINS= ## Chat Configuration # HARD_DELETE_CHATS= ## Base URL for redirects # WEB_DOMAIN= ## Enterprise Features, requires a paid plan and licenses ENABLE_PAID_ENTERPRISE_EDITION_FEATURES=false ## User File Upload Configuration # Skip the token count threshold check (100,000 tokens) for uploaded files # For self-hosted: set to true to skip for all users # SKIP_USERFILE_THRESHOLD=false # For multi-tenant: comma-separated list of tenant IDs to skip threshold # SKIP_USERFILE_THRESHOLD_TENANT_IDS= ################################################################################ ## SERVICES CONFIGURATIONS ################################################################################ ## Database Configuration POSTGRES_USER=postgres POSTGRES_PASSWORD=password # POSTGRES_DB= # POSTGRES_DEFAULT_SCHEMA= # POSTGRES_USE_NULL_POOL= # POSTGRES_API_SERVER_POOL_SIZE= # POSTGRES_API_SERVER_POOL_OVERFLOW # POSTGRES_IDLE_SESSIONS_TIMEOUT= # POSTGRES_POOL_RECYCLE= # DB_READONLY_USER= # DB_READONLY_PASSWORD= ## MinIO/S3 Configuration S3_ENDPOINT_URL=http://minio:9000 S3_AWS_ACCESS_KEY_ID=minioadmin S3_AWS_SECRET_ACCESS_KEY=minioadmin S3_FILE_STORE_BUCKET_NAME=onyx-file-store-bucket MINIO_ROOT_USER=minioadmin MINIO_ROOT_PASSWORD=minioadmin ## Nginx Proxy Timeout Configuration (in seconds) ## These settings control how long nginx waits for upstream servers (api_server/web_server) ## Increase these values if you experience timeout errors with long-running requests # NGINX_PROXY_CONNECT_TIMEOUT=300 # NGINX_PROXY_SEND_TIMEOUT=300 # NGINX_PROXY_READ_TIMEOUT=300 ## MCP Server Configuration ## The MCP (Model Context Protocol) server allows external MCP clients to interact with Onyx ## Set to true to enable the MCP server (disabled by default) # MCP_SERVER_ENABLED=false ## Port for the MCP server (defaults to 8090) # MCP_SERVER_PORT=8090 ## CORS origins for MCP clients (comma-separated list) # MCP_SERVER_CORS_ORIGINS= ## Celery Configuration # CELERY_BROKER_POOL_LIMIT= # CELERY_WORKER_DOCFETCHING_CONCURRENCY= # CELERY_WORKER_DOCPROCESSING_CONCURRENCY= # CELERY_WORKER_LIGHT_CONCURRENCY= # CELERY_WORKER_LIGHT_PREFETCH_MULTIPLIER= ## AWS Configuration # AWS_ACCESS_KEY_ID= # AWS_SECRET_ACCESS_KEY= # AWS_REGION_NAME= # Set to true when using IAM authentication for Postgres connections. USE_IAM_AUTH=false ################################################################################ ## DEVELOPER, DEBUGGING, AND LOGGING ################################################################################ ## Logging and Telemetry LOG_LEVEL=info LOG_ALL_MODEL_INTERACTIONS=False LOG_ONYX_MODEL_INTERACTIONS=False LOG_INDIVIDUAL_MODEL_TOKENS=False # LOG_VESPA_TIMING_INFORMATION= # LOG_ENDPOINT_LATENCY= # LOG_POSTGRES_LATENCY= # LOG_POSTGRES_CONN_COUNTS= # DISABLE_TELEMETRY= ## Feature Flags # SHOW_EXTRA_CONNECTORS=true # DISABLE_MODEL_SERVER=false ## Analytics # SENTRY_DSN= ## Demo/Testing # MOCK_CONNECTOR_FILE_PATH= ################################################################################ ## ADVANCED CONFIGURATIONS ################################################################################ ## SlackBot Configuration # ONYX_BOT_DISABLE_DOCS_ONLY_ANSWER= # ONYX_BOT_FEEDBACK_VISIBILITY= # ONYX_BOT_DISPLAY_ERROR_MSGS= # NOTIFY_SLACKBOT_NO_ANSWER= # ONYX_BOT_MAX_QPM= # ONYX_BOT_MAX_WAIT_TIME= ## Advanced Auth Settings # GOOGLE_OAUTH_CLIENT_ID= # GOOGLE_OAUTH_CLIENT_SECRET= # REQUIRE_EMAIL_VERIFICATION= # SMTP_SERVER= # SMTP_PORT= # SMTP_USER= # SMTP_PASS= # ENABLE_EMAIL_INVITES= # EMAIL_FROM= # OAUTH_CLIENT_ID= # OAUTH_CLIENT_SECRET= # OPENID_CONFIG_URL= # TRACK_EXTERNAL_IDP_EXPIRY= # CORS_ALLOWED_ORIGIN= # INTEGRATION_TESTS_MODE= # JWT_PUBLIC_KEY_URL= ## Gen AI Settings # GEN_AI_MAX_TOKENS= # QA_TIMEOUT= # MAX_CHUNKS_FED_TO_CHAT= # DISABLE_LLM_QUERY_REPHRASE= # DISABLE_LITELLM_STREAMING= # LITELLM_EXTRA_HEADERS= # DISABLE_LLM_DOC_RELEVANCE= # GEN_AI_API_KEY= # TOKEN_BUDGET_GLOBALLY_ENABLED= # GENERATIVE_MODEL_ACCESS_CHECK_FREQ= # LITELLM_CUSTOM_ERROR_MESSAGE_MAPPINGS= ## Query Options # DOC_TIME_DECAY= # HYBRID_ALPHA= # EDIT_KEYWORD_QUERY= # MULTILINGUAL_QUERY_EXPANSION= # LANGUAGE_HINT= # LANGUAGE_CHAT_NAMING_HINT= # USE_SEMANTIC_KEYWORD_EXPANSIONS_BASIC_SEARCH= ## Model Configuration # EMBEDDING_BATCH_SIZE= # DOCUMENT_ENCODER_MODEL= # DOC_EMBEDDING_DIM= # NORMALIZE_EMBEDDINGS= # ASYM_QUERY_PREFIX= # ASYM_PASSAGE_PREFIX= # DISABLE_RERANK_FOR_STREAMING= # MODEL_SERVER_PORT= # INDEX_BATCH_SIZE= # MIN_THREADS_ML_MODELS= # CLIENT_EMBEDDING_TIMEOUT= ## Indexing Configuration # VESPA_SEARCHER_THREADS= # ENABLED_CONNECTOR_TYPES= # DISABLE_INDEX_UPDATE_ON_SWAP= # DASK_JOB_CLIENT_ENABLED= # CONTINUE_ON_CONNECTOR_FAILURE= # EXPERIMENTAL_CHECKPOINTING_ENABLED= # CONFLUENCE_CONNECTOR_LABELS_TO_SKIP= # JIRA_CONNECTOR_LABELS_TO_SKIP= # WEB_CONNECTOR_VALIDATE_URLS= # JIRA_SERVER_API_VERSION= # JIRA_CLOUD_API_VERSION= # GONG_CONNECTOR_START_TIME= # NOTION_CONNECTOR_ENABLE_RECURSIVE_PAGE_LOOKUP= # GITHUB_CONNECTOR_BASE_URL= # MAX_DOCUMENT_CHARS= # MAX_FILE_SIZE_BYTES= ## OAuth Connector Configs # EGNYTE_CLIENT_ID= # EGNYTE_CLIENT_SECRET= # EGNYTE_LOCALHOST_OVERRIDE= # LINEAR_CLIENT_ID= # LINEAR_CLIENT_SECRET= ## Miscellaneous # ONYX_QUERY_HISTORY_TYPE= # CHECK_TTL_MANAGEMENT_TASK_FREQUENCY_IN_HOURS= # VESPA_LANGUAGE_OVERRIDE= ## Frontend Configs # THEME_IS_DARK= # NEXT_PUBLIC_POSITIVE_PREDEFINED_FEEDBACK_OPTIONS= # NEXT_PUBLIC_NEGATIVE_PREDEFINED_FEEDBACK_OPTIONS= # NEXT_PUBLIC_DISABLE_LOGOUT= # NEXT_PUBLIC_DEFAULT_SIDEBAR_OPEN= # NEXT_PUBLIC_FORGOT_PASSWORD_ENABLED= # NEXT_PUBLIC_THEME= # NEXT_PUBLIC_DO_NOT_USE_TOGGLE_OFF_DANSWER_POWERED= # NEXT_PUBLIC_CUSTOM_REFRESH_URL= ## Pointer to services POSTGRES_HOST=relational_db VESPA_HOST=index REDIS_HOST=cache MODEL_SERVER_HOST=inference_model_server INDEXING_MODEL_SERVER_HOST=indexing_model_server INTERNAL_URL=http://api_server:8080