From 0e94b70d87ded2a496510ae9f8a926de4b50cb3c Mon Sep 17 00:00:00 2001
From: zznate
Date: Sun, 12 Oct 2025 18:04:41 +0000
Subject: [PATCH] deploy: 63f6d82969d4d9c7edb6ebbb18fe3560011514e6
---
404.html | 2 +-
agents/index.html | 2 +-
assets/js/{c8078f0a.b5cf5e75.js => c8078f0a.95121b15.js} | 2 +-
.../js/{runtime~main.8597cd48.js => runtime~main.51333837.js} | 2 +-
get-started/docker/index.html | 2 +-
get-started/tui/index.html | 2 +-
index.html | 2 +-
ingestion/index.html | 2 +-
install/index.html | 2 +-
knowledge/index.html | 2 +-
quickstart/index.html | 2 +-
reference/configuration/index.html | 4 ++--
support/troubleshoot/index.html | 2 +-
13 files changed, 14 insertions(+), 14 deletions(-)
rename assets/js/{c8078f0a.b5cf5e75.js => c8078f0a.95121b15.js} (84%)
rename assets/js/{runtime~main.8597cd48.js => runtime~main.51333837.js} (98%)
diff --git a/404.html b/404.html
index 7a4f6e8f..8e84ad28 100644
--- a/404.html
+++ b/404.html
@@ -4,7 +4,7 @@
OpenRAG
-
+
diff --git a/agents/index.html b/agents/index.html
index 453a621d..535e640b 100644
--- a/agents/index.html
+++ b/agents/index.html
@@ -4,7 +4,7 @@
Langflow Agents | OpenRAG
-
+
diff --git a/assets/js/c8078f0a.b5cf5e75.js b/assets/js/c8078f0a.95121b15.js
similarity index 84%
rename from assets/js/c8078f0a.b5cf5e75.js
rename to assets/js/c8078f0a.95121b15.js
index b877396f..303f18be 100644
--- a/assets/js/c8078f0a.b5cf5e75.js
+++ b/assets/js/c8078f0a.95121b15.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopenrag_docs=self.webpackChunkopenrag_docs||[]).push([[26],{9179:(e,n,r)=>{r.d(n,{A:()=>d});r(6540);var s=r(4827),i=r(4848);function d({name:e,...n}){const r=s[e];return r?(0,i.jsx)(r,{...n}):null}},9196:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>t,default:()=>a,frontMatter:()=>l,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"reference/configuration","title":"Environment variables","description":"OpenRAG recognizes supported environment variables from the following sources:","source":"@site/docs/reference/configuration.mdx","sourceDirName":"reference","slug":"/reference/configuration","permalink":"/reference/configuration","draft":false,"unlisted":false,"editUrl":"https://github.com/openrag/openrag/tree/main/docs/docs/reference/configuration.mdx","tags":[],"version":"current","frontMatter":{"title":"Environment variables","slug":"/reference/configuration"},"sidebar":"tutorialSidebar","previous":{"title":"Docling Ingestion","permalink":"/ingestion"},"next":{"title":"Troubleshoot","permalink":"/support/troubleshoot"}}');var i=r(4848),d=r(8453);r(9179),r(1470),r(9365);const l={title:"Environment variables",slug:"/reference/configuration"},t=void 0,c={},o=[{value:"Configure environment variables",id:"configure-environment-variables",level:2},{value:"Set environment variables",id:"set-environment-variables",level:3},{value:"Supported environment variables",id:"supported-environment-variables",level:2},{value:"AI provider settings",id:"ai-provider-settings",level:3},{value:"Document processing",id:"document-processing",level:3},{value:"Langflow settings",id:"langflow-settings",level:3},{value:"OAuth provider settings",id:"oauth-provider-settings",level:3},{value:"OpenSearch settings",id:"opensearch-settings",level:3},{value:"System settings",id:"system-settings",level:3},{value:"Langflow runtime overrides",id:"langflow-runtime-overrides",level:2},{value:"Default values and fallbacks",id:"default-values-and-fallbacks",level:2},{value:"OpenRAG configuration defaults",id:"openrag-configuration-defaults",level:3},{value:"System configuration defaults",id:"system-configuration-defaults",level:3}];function h(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,d.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:["OpenRAG recognizes ",(0,i.jsx)(n.a,{href:"#supported-environment-variables",children:"supported environment variables"})," from the following sources:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"#supported-environment-variables",children:"Environment variables"})," - Values set in the ",(0,i.jsx)(n.code,{children:".env"})," file."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"#langflow-runtime-overrides",children:"Langflow runtime overrides"})," - Langflow components may tweak environment variables at runtime."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"#default-values-and-fallbacks",children:"Default or fallback values"})," - These values are default or fallback values if OpenRAG doesn't find a value."]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"configure-environment-variables",children:"Configure environment variables"}),"\n",(0,i.jsxs)(n.p,{children:["Environment variables are set in a ",(0,i.jsx)(n.code,{children:".env"})," file in the root of your OpenRAG project directory."]}),"\n",(0,i.jsxs)(n.p,{children:["For an example ",(0,i.jsx)(n.code,{children:".env"})," file, see ",(0,i.jsxs)(n.a,{href:"https://github.com/langflow-ai/openrag/blob/main/.env.example",children:[(0,i.jsx)(n.code,{children:".env.example"})," in the OpenRAG repository"]}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["The Docker Compose files are populated with values from your ",(0,i.jsx)(n.code,{children:".env"}),", so you don't need to edit the Docker Compose files manually."]}),"\n",(0,i.jsx)(n.p,{children:"Environment variables always take precedence over other variables."}),"\n",(0,i.jsx)(n.h3,{id:"set-environment-variables",children:"Set environment variables"}),"\n",(0,i.jsx)(n.p,{children:"To set environment variables, do the following."}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Stop OpenRAG."}),"\n",(0,i.jsxs)(n.li,{children:["Set the values in the ",(0,i.jsx)(n.code,{children:".env"})," file:","\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"LOG_LEVEL=DEBUG\nLOG_FORMAT=json\nSERVICE_NAME=openrag-dev\n"})}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"Start OpenRAG."}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Updating provider API keys or provider endpoints in the ",(0,i.jsx)(n.code,{children:".env"})," file will not take effect after ",(0,i.jsx)(n.a,{href:"/install#application-onboarding",children:"Application onboarding"}),". To change these values, you must:"]}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Stop OpenRAG."}),"\n",(0,i.jsxs)(n.li,{children:["Remove the containers:","\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"docker-compose down\n"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Update the values in your ",(0,i.jsx)(n.code,{children:".env"})," file."]}),"\n",(0,i.jsxs)(n.li,{children:["Start OpenRAG containers.","\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"docker-compose up -d\n"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Complete ",(0,i.jsx)(n.a,{href:"/install#application-onboarding",children:"Application onboarding"})," again."]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"supported-environment-variables",children:"Supported environment variables"}),"\n",(0,i.jsx)(n.p,{children:"All OpenRAG configuration can be controlled through environment variables."}),"\n",(0,i.jsx)(n.h3,{id:"ai-provider-settings",children:"AI provider settings"}),"\n",(0,i.jsxs)(n.p,{children:["Configure which AI models and providers OpenRAG uses for language processing and embeddings.\nFor more information, see ",(0,i.jsx)(n.a,{href:"/install#application-onboarding",children:"Application onboarding"}),"."]}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Variable"}),(0,i.jsx)(n.th,{children:"Default"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"EMBEDDING_MODEL"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"text-embedding-3-small"})}),(0,i.jsx)(n.td,{children:"Embedding model for vector search."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LLM_MODEL"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"gpt-4o-mini"})}),(0,i.jsx)(n.td,{children:"Language model for the chat agent."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"MODEL_PROVIDER"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"openai"})}),(0,i.jsx)(n.td,{children:"Model provider, such as OpenAI or IBM watsonx.ai."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"OPENAI_API_KEY"})}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"Your OpenAI API key. Required."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"PROVIDER_API_KEY"})}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"API key for the model provider."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"PROVIDER_ENDPOINT"})}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"Custom provider endpoint. Only used for IBM or Ollama providers."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"PROVIDER_PROJECT_ID"})}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"Project ID for providers. Only required for the IBM watsonx.ai provider."})]})]})]}),"\n",(0,i.jsx)(n.h3,{id:"document-processing",children:"Document processing"}),"\n",(0,i.jsxs)(n.p,{children:["Control how OpenRAG processes and ingests documents into your knowledge base.\nFor more information, see ",(0,i.jsx)(n.a,{href:"/ingestion",children:"Ingestion"}),"."]}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Variable"}),(0,i.jsx)(n.th,{children:"Default"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"CHUNK_OVERLAP"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"200"})}),(0,i.jsx)(n.td,{children:"Overlap between chunks."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"CHUNK_SIZE"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"1000"})}),(0,i.jsx)(n.td,{children:"Text chunk size for document processing."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"DISABLE_INGEST_WITH_LANGFLOW"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"false"})}),(0,i.jsx)(n.td,{children:"Disable Langflow ingestion pipeline."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"DOCLING_OCR_ENGINE"})}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"OCR engine for document processing."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"OCR_ENABLED"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"false"})}),(0,i.jsx)(n.td,{children:"Enable OCR for image processing."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"OPENRAG_DOCUMENTS_PATHS"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"./documents"})}),(0,i.jsx)(n.td,{children:"Document paths for ingestion."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"PICTURE_DESCRIPTIONS_ENABLED"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"false"})}),(0,i.jsx)(n.td,{children:"Enable picture descriptions."})]})]})]}),"\n",(0,i.jsx)(n.h3,{id:"langflow-settings",children:"Langflow settings"}),"\n",(0,i.jsx)(n.p,{children:"Configure Langflow authentication."}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Variable"}),(0,i.jsx)(n.th,{children:"Default"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_AUTO_LOGIN"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"False"})}),(0,i.jsx)(n.td,{children:"Enable auto-login for Langflow."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_CHAT_FLOW_ID"})}),(0,i.jsx)(n.td,{children:"pre-filled"}),(0,i.jsxs)(n.td,{children:["This value is pre-filled. The default value is found in ",(0,i.jsx)(n.a,{href:"https://github.com/langflow-ai/openrag/blob/main/.env.example",children:".env.example"}),"."]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_ENABLE_SUPERUSER_CLI"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"False"})}),(0,i.jsx)(n.td,{children:"Enable superuser CLI."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_INGEST_FLOW_ID"})}),(0,i.jsx)(n.td,{children:"pre-filled"}),(0,i.jsxs)(n.td,{children:["This value is pre-filled. The default value is found in ",(0,i.jsx)(n.a,{href:"https://github.com/langflow-ai/openrag/blob/main/.env.example",children:".env.example"}),"."]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_KEY"})}),(0,i.jsx)(n.td,{children:"auto-generated"}),(0,i.jsx)(n.td,{children:"Explicit Langflow API key."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_NEW_USER_IS_ACTIVE"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"False"})}),(0,i.jsx)(n.td,{children:"New users are active by default."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_PUBLIC_URL"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"http://localhost:7860"})}),(0,i.jsx)(n.td,{children:"Public URL for Langflow."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_SECRET_KEY"})}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"Secret key for Langflow internal operations."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_SUPERUSER"})}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"Langflow admin username. Required."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_SUPERUSER_PASSWORD"})}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"Langflow admin password. Required."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_URL"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"http://localhost:7860"})}),(0,i.jsx)(n.td,{children:"Langflow URL."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"NUDGES_FLOW_ID"})}),(0,i.jsx)(n.td,{children:"pre-filled"}),(0,i.jsxs)(n.td,{children:["This value is pre-filled. The default value is found in ",(0,i.jsx)(n.a,{href:"https://github.com/langflow-ai/openrag/blob/main/.env.example",children:".env.example"}),"."]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"SYSTEM_PROMPT"})}),(0,i.jsx)(n.td,{children:'"You are a helpful AI assistant with access to a knowledge base. Answer questions based on the provided context."'}),(0,i.jsx)(n.td,{children:"System prompt for the Langflow agent."})]})]})]}),"\n",(0,i.jsx)(n.h3,{id:"oauth-provider-settings",children:"OAuth provider settings"}),"\n",(0,i.jsx)(n.p,{children:"Configure OAuth providers and external service integrations."}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Variable"}),(0,i.jsx)(n.th,{children:"Default"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsxs)(n.td,{children:[(0,i.jsx)(n.code,{children:"AWS_ACCESS_KEY_ID"})," / ",(0,i.jsx)(n.code,{children:"AWS_SECRET_ACCESS_KEY"})]}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"AWS integrations."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsxs)(n.td,{children:[(0,i.jsx)(n.code,{children:"GOOGLE_OAUTH_CLIENT_ID"})," / ",(0,i.jsx)(n.code,{children:"GOOGLE_OAUTH_CLIENT_SECRET"})]}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"Google OAuth authentication."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsxs)(n.td,{children:[(0,i.jsx)(n.code,{children:"MICROSOFT_GRAPH_OAUTH_CLIENT_ID"})," / ",(0,i.jsx)(n.code,{children:"MICROSOFT_GRAPH_OAUTH_CLIENT_SECRET"})]}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"Microsoft OAuth."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"WEBHOOK_BASE_URL"})}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"Base URL for webhook endpoints."})]})]})]}),"\n",(0,i.jsx)(n.h3,{id:"opensearch-settings",children:"OpenSearch settings"}),"\n",(0,i.jsx)(n.p,{children:"Configure OpenSearch database authentication."}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Variable"}),(0,i.jsx)(n.th,{children:"Default"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"OPENSEARCH_HOST"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"localhost"})}),(0,i.jsx)(n.td,{children:"OpenSearch host."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"OPENSEARCH_PASSWORD"})}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"Password for OpenSearch admin user. Required."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"OPENSEARCH_PORT"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"9200"})}),(0,i.jsx)(n.td,{children:"OpenSearch port."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"OPENSEARCH_USERNAME"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"admin"})}),(0,i.jsx)(n.td,{children:"OpenSearch username."})]})]})]}),"\n",(0,i.jsx)(n.h3,{id:"system-settings",children:"System settings"}),"\n",(0,i.jsx)(n.p,{children:"Configure general system components, session management, and logging."}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Variable"}),(0,i.jsx)(n.th,{children:"Default"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_KEY_RETRIES"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"15"})}),(0,i.jsx)(n.td,{children:"Number of retries for Langflow key generation."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_KEY_RETRY_DELAY"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"2.0"})}),(0,i.jsx)(n.td,{children:"Delay between retries in seconds."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LOG_FORMAT"})}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:'Log format (set to "json" for JSON output).'})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LOG_LEVEL"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"INFO"})}),(0,i.jsx)(n.td,{children:"Logging level (DEBUG, INFO, WARNING, ERROR)."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"MAX_WORKERS"})}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"Maximum number of workers for document processing."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"SERVICE_NAME"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"openrag"})}),(0,i.jsx)(n.td,{children:"Service name for logging."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"SESSION_SECRET"})}),(0,i.jsx)(n.td,{children:"auto-generated"}),(0,i.jsx)(n.td,{children:"Session management."})]})]})]}),"\n",(0,i.jsx)(n.h2,{id:"langflow-runtime-overrides",children:"Langflow runtime overrides"}),"\n",(0,i.jsx)(n.p,{children:"Langflow runtime overrides allow you to modify component settings at runtime without changing the base configuration."}),"\n",(0,i.jsxs)(n.p,{children:["Runtime overrides are implemented through ",(0,i.jsx)(n.strong,{children:"tweaks"})," - parameter modifications that are passed to specific Langflow components during flow execution."]}),"\n",(0,i.jsxs)(n.p,{children:["For more information on tweaks, see ",(0,i.jsx)(n.a,{href:"https://docs.langflow.org/concepts-publish#input-schema",children:"Input schema (tweaks)"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"default-values-and-fallbacks",children:"Default values and fallbacks"}),"\n",(0,i.jsx)(n.p,{children:"When no environment variables or configuration file values are provided, OpenRAG uses default values.\nThese values can be found in the code base at the following locations."}),"\n",(0,i.jsx)(n.h3,{id:"openrag-configuration-defaults",children:"OpenRAG configuration defaults"}),"\n",(0,i.jsxs)(n.p,{children:["These values are defined in ",(0,i.jsxs)(n.a,{href:"https://github.com/langflow-ai/openrag/blob/main/src/config/config_manager.py",children:[(0,i.jsx)(n.code,{children:"config_manager.py"})," in the OpenRAG repository"]}),"."]}),"\n",(0,i.jsx)(n.h3,{id:"system-configuration-defaults",children:"System configuration defaults"}),"\n",(0,i.jsxs)(n.p,{children:["These fallback values are defined in ",(0,i.jsxs)(n.a,{href:"https://github.com/langflow-ai/openrag/blob/main/src/config/settings.py",children:[(0,i.jsx)(n.code,{children:"settings.py"})," in the OpenRAG repository"]}),"."]})]})}function a(e={}){const{wrapper:n}={...(0,d.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkopenrag_docs=self.webpackChunkopenrag_docs||[]).push([[26],{9179:(e,n,r)=>{r.d(n,{A:()=>d});r(6540);var s=r(4827),i=r(4848);function d({name:e,...n}){const r=s[e];return r?(0,i.jsx)(r,{...n}):null}},9196:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>t,default:()=>a,frontMatter:()=>l,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"reference/configuration","title":"Environment variables","description":"OpenRAG recognizes supported environment variables from the following sources:","source":"@site/docs/reference/configuration.mdx","sourceDirName":"reference","slug":"/reference/configuration","permalink":"/reference/configuration","draft":false,"unlisted":false,"editUrl":"https://github.com/openrag/openrag/tree/main/docs/docs/reference/configuration.mdx","tags":[],"version":"current","frontMatter":{"title":"Environment variables","slug":"/reference/configuration"},"sidebar":"tutorialSidebar","previous":{"title":"Docling Ingestion","permalink":"/ingestion"},"next":{"title":"Troubleshoot","permalink":"/support/troubleshoot"}}');var i=r(4848),d=r(8453);r(9179),r(1470),r(9365);const l={title:"Environment variables",slug:"/reference/configuration"},t=void 0,c={},o=[{value:"Configure environment variables",id:"configure-environment-variables",level:2},{value:"Set environment variables",id:"set-environment-variables",level:3},{value:"Supported environment variables",id:"supported-environment-variables",level:2},{value:"AI provider settings",id:"ai-provider-settings",level:3},{value:"Document processing",id:"document-processing",level:3},{value:"Langflow settings",id:"langflow-settings",level:3},{value:"OAuth provider settings",id:"oauth-provider-settings",level:3},{value:"OpenSearch settings",id:"opensearch-settings",level:3},{value:"System settings",id:"system-settings",level:3},{value:"Langflow runtime overrides",id:"langflow-runtime-overrides",level:2},{value:"Default values and fallbacks",id:"default-values-and-fallbacks",level:2},{value:"OpenRAG configuration defaults",id:"openrag-configuration-defaults",level:3},{value:"System configuration defaults",id:"system-configuration-defaults",level:3}];function h(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,d.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:["OpenRAG recognizes ",(0,i.jsx)(n.a,{href:"#supported-environment-variables",children:"supported environment variables"})," from the following sources:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"#supported-environment-variables",children:"Environment variables"})," - Values set in the ",(0,i.jsx)(n.code,{children:".env"})," file."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"#langflow-runtime-overrides",children:"Langflow runtime overrides"})," - Langflow components may tweak environment variables at runtime."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"#default-values-and-fallbacks",children:"Default or fallback values"})," - These values are default or fallback values if OpenRAG doesn't find a value."]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"configure-environment-variables",children:"Configure environment variables"}),"\n",(0,i.jsxs)(n.p,{children:["Environment variables are set in a ",(0,i.jsx)(n.code,{children:".env"})," file in the root of your OpenRAG project directory."]}),"\n",(0,i.jsxs)(n.p,{children:["For an example ",(0,i.jsx)(n.code,{children:".env"})," file, see ",(0,i.jsxs)(n.a,{href:"https://github.com/langflow-ai/openrag/blob/main/.env.example",children:[(0,i.jsx)(n.code,{children:".env.example"})," in the OpenRAG repository"]}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["The Docker Compose files are populated with values from your ",(0,i.jsx)(n.code,{children:".env"}),", so you don't need to edit the Docker Compose files manually."]}),"\n",(0,i.jsx)(n.p,{children:"Environment variables always take precedence over other variables."}),"\n",(0,i.jsx)(n.h3,{id:"set-environment-variables",children:"Set environment variables"}),"\n",(0,i.jsx)(n.p,{children:"To set environment variables, do the following."}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Stop OpenRAG."}),"\n",(0,i.jsxs)(n.li,{children:["Set the values in the ",(0,i.jsx)(n.code,{children:".env"})," file:","\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"LOG_LEVEL=DEBUG\nLOG_FORMAT=json\nSERVICE_NAME=openrag-dev\n"})}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"Start OpenRAG."}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Updating provider API keys or provider endpoints in the ",(0,i.jsx)(n.code,{children:".env"})," file will not take effect after ",(0,i.jsx)(n.a,{href:"/install#application-onboarding",children:"Application onboarding"}),". To change these values, you must:"]}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Stop OpenRAG."}),"\n",(0,i.jsxs)(n.li,{children:["Remove the containers:","\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"docker-compose down\n"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Update the values in your ",(0,i.jsx)(n.code,{children:".env"})," file."]}),"\n",(0,i.jsxs)(n.li,{children:["Start OpenRAG containers.","\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"docker-compose up -d\n"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Complete ",(0,i.jsx)(n.a,{href:"/install#application-onboarding",children:"Application onboarding"})," again."]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"supported-environment-variables",children:"Supported environment variables"}),"\n",(0,i.jsx)(n.p,{children:"All OpenRAG configuration can be controlled through environment variables."}),"\n",(0,i.jsx)(n.h3,{id:"ai-provider-settings",children:"AI provider settings"}),"\n",(0,i.jsxs)(n.p,{children:["Configure which AI models and providers OpenRAG uses for language processing and embeddings.\nFor more information, see ",(0,i.jsx)(n.a,{href:"/install#application-onboarding",children:"Application onboarding"}),"."]}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Variable"}),(0,i.jsx)(n.th,{children:"Default"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"EMBEDDING_MODEL"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"text-embedding-3-small"})}),(0,i.jsx)(n.td,{children:"Embedding model for vector search."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LLM_MODEL"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"gpt-4o-mini"})}),(0,i.jsx)(n.td,{children:"Language model for the chat agent."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"MODEL_PROVIDER"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"openai"})}),(0,i.jsx)(n.td,{children:"Model provider, such as OpenAI or IBM watsonx.ai."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"OPENAI_API_KEY"})}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"Your OpenAI API key. Required."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"PROVIDER_API_KEY"})}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"API key for the model provider."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"PROVIDER_ENDPOINT"})}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"Custom provider endpoint. Only used for IBM or Ollama providers."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"PROVIDER_PROJECT_ID"})}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"Project ID for providers. Only required for the IBM watsonx.ai provider."})]})]})]}),"\n",(0,i.jsx)(n.h3,{id:"document-processing",children:"Document processing"}),"\n",(0,i.jsxs)(n.p,{children:["Control how OpenRAG processes and ingests documents into your knowledge base.\nFor more information, see ",(0,i.jsx)(n.a,{href:"/ingestion",children:"Ingestion"}),"."]}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Variable"}),(0,i.jsx)(n.th,{children:"Default"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"CHUNK_OVERLAP"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"200"})}),(0,i.jsx)(n.td,{children:"Overlap between chunks."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"CHUNK_SIZE"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"1000"})}),(0,i.jsx)(n.td,{children:"Text chunk size for document processing."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"DISABLE_INGEST_WITH_LANGFLOW"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"false"})}),(0,i.jsx)(n.td,{children:"Disable Langflow ingestion pipeline."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"DOCLING_OCR_ENGINE"})}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"OCR engine for document processing."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"OCR_ENABLED"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"false"})}),(0,i.jsx)(n.td,{children:"Enable OCR for image processing."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"OPENRAG_DOCUMENTS_PATHS"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"./documents"})}),(0,i.jsx)(n.td,{children:"Document paths for ingestion."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"PICTURE_DESCRIPTIONS_ENABLED"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"false"})}),(0,i.jsx)(n.td,{children:"Enable picture descriptions."})]})]})]}),"\n",(0,i.jsx)(n.h3,{id:"langflow-settings",children:"Langflow settings"}),"\n",(0,i.jsx)(n.p,{children:"Configure Langflow authentication."}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Variable"}),(0,i.jsx)(n.th,{children:"Default"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_AUTO_LOGIN"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"False"})}),(0,i.jsx)(n.td,{children:"Enable auto-login for Langflow."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_CHAT_FLOW_ID"})}),(0,i.jsx)(n.td,{children:"pre-filled"}),(0,i.jsxs)(n.td,{children:["This value is pre-filled. The default value is found in ",(0,i.jsx)(n.a,{href:"https://github.com/langflow-ai/openrag/blob/main/.env.example",children:".env.example"}),"."]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_ENABLE_SUPERUSER_CLI"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"False"})}),(0,i.jsx)(n.td,{children:"Enable superuser CLI."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_INGEST_FLOW_ID"})}),(0,i.jsx)(n.td,{children:"pre-filled"}),(0,i.jsxs)(n.td,{children:["This value is pre-filled. The default value is found in ",(0,i.jsx)(n.a,{href:"https://github.com/langflow-ai/openrag/blob/main/.env.example",children:".env.example"}),"."]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_KEY"})}),(0,i.jsx)(n.td,{children:"auto-generated"}),(0,i.jsx)(n.td,{children:"Explicit Langflow API key."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_NEW_USER_IS_ACTIVE"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"False"})}),(0,i.jsx)(n.td,{children:"New users are active by default."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_PUBLIC_URL"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"http://localhost:7860"})}),(0,i.jsx)(n.td,{children:"Public URL for Langflow."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_SECRET_KEY"})}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"Secret key for Langflow internal operations."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_SUPERUSER"})}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"Langflow admin username. Required."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_SUPERUSER_PASSWORD"})}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"Langflow admin password. Required."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_URL"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"http://localhost:7860"})}),(0,i.jsx)(n.td,{children:"Langflow URL."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"NUDGES_FLOW_ID"})}),(0,i.jsx)(n.td,{children:"pre-filled"}),(0,i.jsxs)(n.td,{children:["This value is pre-filled. The default value is found in ",(0,i.jsx)(n.a,{href:"https://github.com/langflow-ai/openrag/blob/main/.env.example",children:".env.example"}),"."]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"SYSTEM_PROMPT"})}),(0,i.jsx)(n.td,{children:'"You are a helpful AI assistant with access to a knowledge base. Answer questions based on the provided context."'}),(0,i.jsx)(n.td,{children:"System prompt for the Langflow agent."})]})]})]}),"\n",(0,i.jsx)(n.h3,{id:"oauth-provider-settings",children:"OAuth provider settings"}),"\n",(0,i.jsx)(n.p,{children:"Configure OAuth providers and external service integrations."}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Variable"}),(0,i.jsx)(n.th,{children:"Default"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsxs)(n.td,{children:[(0,i.jsx)(n.code,{children:"AWS_ACCESS_KEY_ID"})," / ",(0,i.jsx)(n.code,{children:"AWS_SECRET_ACCESS_KEY"})]}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"AWS integrations."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsxs)(n.td,{children:[(0,i.jsx)(n.code,{children:"GOOGLE_OAUTH_CLIENT_ID"})," / ",(0,i.jsx)(n.code,{children:"GOOGLE_OAUTH_CLIENT_SECRET"})]}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"Google OAuth authentication."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsxs)(n.td,{children:[(0,i.jsx)(n.code,{children:"MICROSOFT_GRAPH_OAUTH_CLIENT_ID"})," / ",(0,i.jsx)(n.code,{children:"MICROSOFT_GRAPH_OAUTH_CLIENT_SECRET"})]}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"Microsoft OAuth."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"WEBHOOK_BASE_URL"})}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"Base URL for webhook endpoints."})]})]})]}),"\n",(0,i.jsx)(n.h3,{id:"opensearch-settings",children:"OpenSearch settings"}),"\n",(0,i.jsx)(n.p,{children:"Configure OpenSearch database authentication."}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Variable"}),(0,i.jsx)(n.th,{children:"Default"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"OPENSEARCH_HOST"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"localhost"})}),(0,i.jsx)(n.td,{children:"OpenSearch host."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"OPENSEARCH_PASSWORD"})}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"Password for OpenSearch admin user. Required."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"OPENSEARCH_PORT"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"9200"})}),(0,i.jsx)(n.td,{children:"OpenSearch port."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"OPENSEARCH_USERNAME"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"admin"})}),(0,i.jsx)(n.td,{children:"OpenSearch username."})]})]})]}),"\n",(0,i.jsx)(n.h3,{id:"system-settings",children:"System settings"}),"\n",(0,i.jsx)(n.p,{children:"Configure general system components, session management, and logging."}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Variable"}),(0,i.jsx)(n.th,{children:"Default"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_KEY_RETRIES"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"15"})}),(0,i.jsx)(n.td,{children:"Number of retries for Langflow key generation."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_KEY_RETRY_DELAY"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"2.0"})}),(0,i.jsx)(n.td,{children:"Delay between retries in seconds."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LANGFLOW_VERSION"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"latest"})}),(0,i.jsx)(n.td,{children:"Langflow Docker image version."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LOG_FORMAT"})}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:'Log format (set to "json" for JSON output).'})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"LOG_LEVEL"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"INFO"})}),(0,i.jsx)(n.td,{children:"Logging level (DEBUG, INFO, WARNING, ERROR)."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"MAX_WORKERS"})}),(0,i.jsx)(n.td,{children:"-"}),(0,i.jsx)(n.td,{children:"Maximum number of workers for document processing."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"OPENRAG_VERSION"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"latest"})}),(0,i.jsx)(n.td,{children:"OpenRAG Docker image version."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"SERVICE_NAME"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"openrag"})}),(0,i.jsx)(n.td,{children:"Service name for logging."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"SESSION_SECRET"})}),(0,i.jsx)(n.td,{children:"auto-generated"}),(0,i.jsx)(n.td,{children:"Session management."})]})]})]}),"\n",(0,i.jsx)(n.h2,{id:"langflow-runtime-overrides",children:"Langflow runtime overrides"}),"\n",(0,i.jsx)(n.p,{children:"Langflow runtime overrides allow you to modify component settings at runtime without changing the base configuration."}),"\n",(0,i.jsxs)(n.p,{children:["Runtime overrides are implemented through ",(0,i.jsx)(n.strong,{children:"tweaks"})," - parameter modifications that are passed to specific Langflow components during flow execution."]}),"\n",(0,i.jsxs)(n.p,{children:["For more information on tweaks, see ",(0,i.jsx)(n.a,{href:"https://docs.langflow.org/concepts-publish#input-schema",children:"Input schema (tweaks)"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"default-values-and-fallbacks",children:"Default values and fallbacks"}),"\n",(0,i.jsx)(n.p,{children:"When no environment variables or configuration file values are provided, OpenRAG uses default values.\nThese values can be found in the code base at the following locations."}),"\n",(0,i.jsx)(n.h3,{id:"openrag-configuration-defaults",children:"OpenRAG configuration defaults"}),"\n",(0,i.jsxs)(n.p,{children:["These values are defined in ",(0,i.jsxs)(n.a,{href:"https://github.com/langflow-ai/openrag/blob/main/src/config/config_manager.py",children:[(0,i.jsx)(n.code,{children:"config_manager.py"})," in the OpenRAG repository"]}),"."]}),"\n",(0,i.jsx)(n.h3,{id:"system-configuration-defaults",children:"System configuration defaults"}),"\n",(0,i.jsxs)(n.p,{children:["These fallback values are defined in ",(0,i.jsxs)(n.a,{href:"https://github.com/langflow-ai/openrag/blob/main/src/config/settings.py",children:[(0,i.jsx)(n.code,{children:"settings.py"})," in the OpenRAG repository"]}),"."]})]})}function a(e={}){const{wrapper:n}={...(0,d.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}}}]);
\ No newline at end of file
diff --git a/assets/js/runtime~main.8597cd48.js b/assets/js/runtime~main.51333837.js
similarity index 98%
rename from assets/js/runtime~main.8597cd48.js
rename to assets/js/runtime~main.51333837.js
index 9cc49c0a..7e51cd55 100644
--- a/assets/js/runtime~main.8597cd48.js
+++ b/assets/js/runtime~main.51333837.js
@@ -1 +1 @@
-(()=>{"use strict";var e,t,r,a,o,n={},f={};function c(e){var t=f[e];if(void 0!==t)return t.exports;var r=f[e]={id:e,loaded:!1,exports:{}};return n[e].call(r.exports,r,r.exports,c),r.loaded=!0,r.exports}c.m=n,c.c=f,e=[],c.O=(t,r,a,o)=>{if(!r){var n=1/0;for(u=0;u=o)&&Object.keys(c.O).every(e=>c.O[e](r[i]))?r.splice(i--,1):(f=!1,o0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[r,a,o]},c.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return c.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,c.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var o=Object.create(null);c.r(o);var n={};t=t||[null,r({}),r([]),r(r)];for(var f=2&a&&e;("object"==typeof f||"function"==typeof f)&&!~t.indexOf(f);f=r(f))Object.getOwnPropertyNames(f).forEach(t=>n[t]=()=>e[t]);return n.default=()=>e,c.d(o,n),o},c.d=(e,t)=>{for(var r in t)c.o(t,r)&&!c.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},c.f={},c.e=e=>Promise.all(Object.keys(c.f).reduce((t,r)=>(c.f[r](e,t),t),[])),c.u=e=>"assets/js/"+({26:"c8078f0a",48:"a94703ab",98:"a7bd4aaa",172:"e633a5ea",272:"749371cc",401:"17896441",532:"33362219",567:"22dd74f7",571:"0ba6a408",647:"5e95c892",668:"eb5b356a",717:"af920ffe",742:"aba21aa0",750:"d0314b07",919:"ca2c3c0c",961:"21afe7ac"}[e]||e)+"."+{26:"b5cf5e75",48:"37079d87",98:"5b195d0f",172:"cbe02eaa",237:"4f1a14e7",272:"cc93e3ef",401:"3584c216",532:"d86f431d",567:"5a552cfa",571:"21d91e2f",647:"a118483c",668:"516bb081",717:"36fc9a9a",742:"ff196c6d",750:"81b2f228",758:"382c453d",919:"295b1c55",961:"f0feb7d8"}[e]+".js",c.miniCssF=e=>{},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a={},o="openrag-docs:",c.l=(e,t,r,n)=>{if(a[e])a[e].push(t);else{var f,i;if(void 0!==r)for(var d=document.getElementsByTagName("script"),u=0;u{f.onerror=f.onload=null,clearTimeout(b);var o=a[e];if(delete a[e],f.parentNode&&f.parentNode.removeChild(f),o&&o.forEach(e=>e(r)),t)return t(r)},b=setTimeout(s.bind(null,void 0,{type:"timeout",target:f}),12e4);f.onerror=s.bind(null,f.onerror),f.onload=s.bind(null,f.onload),i&&document.head.appendChild(f)}},c.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.p="/",c.gca=function(e){return e={17896441:"401",33362219:"532",c8078f0a:"26",a94703ab:"48",a7bd4aaa:"98",e633a5ea:"172","749371cc":"272","22dd74f7":"567","0ba6a408":"571","5e95c892":"647",eb5b356a:"668",af920ffe:"717",aba21aa0:"742",d0314b07:"750",ca2c3c0c:"919","21afe7ac":"961"}[e]||e,c.p+c.u(e)},(()=>{var e={354:0,869:0};c.f.j=(t,r)=>{var a=c.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(354|869)$/.test(t))e[t]=0;else{var o=new Promise((r,o)=>a=e[t]=[r,o]);r.push(a[2]=o);var n=c.p+c.u(t),f=new Error;c.l(n,r=>{if(c.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var o=r&&("load"===r.type?"missing":r.type),n=r&&r.target&&r.target.src;f.message="Loading chunk "+t+" failed.\n("+o+": "+n+")",f.name="ChunkLoadError",f.type=o,f.request=n,a[1](f)}},"chunk-"+t,t)}},c.O.j=t=>0===e[t];var t=(t,r)=>{var a,o,n=r[0],f=r[1],i=r[2],d=0;if(n.some(t=>0!==e[t])){for(a in f)c.o(f,a)&&(c.m[a]=f[a]);if(i)var u=i(c)}for(t&&t(r);d{"use strict";var e,t,r,a,o,n={},f={};function c(e){var t=f[e];if(void 0!==t)return t.exports;var r=f[e]={id:e,loaded:!1,exports:{}};return n[e].call(r.exports,r,r.exports,c),r.loaded=!0,r.exports}c.m=n,c.c=f,e=[],c.O=(t,r,a,o)=>{if(!r){var n=1/0;for(u=0;u=o)&&Object.keys(c.O).every(e=>c.O[e](r[i]))?r.splice(i--,1):(f=!1,o0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[r,a,o]},c.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return c.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,c.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var o=Object.create(null);c.r(o);var n={};t=t||[null,r({}),r([]),r(r)];for(var f=2&a&&e;("object"==typeof f||"function"==typeof f)&&!~t.indexOf(f);f=r(f))Object.getOwnPropertyNames(f).forEach(t=>n[t]=()=>e[t]);return n.default=()=>e,c.d(o,n),o},c.d=(e,t)=>{for(var r in t)c.o(t,r)&&!c.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},c.f={},c.e=e=>Promise.all(Object.keys(c.f).reduce((t,r)=>(c.f[r](e,t),t),[])),c.u=e=>"assets/js/"+({26:"c8078f0a",48:"a94703ab",98:"a7bd4aaa",172:"e633a5ea",272:"749371cc",401:"17896441",532:"33362219",567:"22dd74f7",571:"0ba6a408",647:"5e95c892",668:"eb5b356a",717:"af920ffe",742:"aba21aa0",750:"d0314b07",919:"ca2c3c0c",961:"21afe7ac"}[e]||e)+"."+{26:"95121b15",48:"37079d87",98:"5b195d0f",172:"cbe02eaa",237:"4f1a14e7",272:"cc93e3ef",401:"3584c216",532:"d86f431d",567:"5a552cfa",571:"21d91e2f",647:"a118483c",668:"516bb081",717:"36fc9a9a",742:"ff196c6d",750:"81b2f228",758:"382c453d",919:"295b1c55",961:"f0feb7d8"}[e]+".js",c.miniCssF=e=>{},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a={},o="openrag-docs:",c.l=(e,t,r,n)=>{if(a[e])a[e].push(t);else{var f,i;if(void 0!==r)for(var d=document.getElementsByTagName("script"),u=0;u{f.onerror=f.onload=null,clearTimeout(b);var o=a[e];if(delete a[e],f.parentNode&&f.parentNode.removeChild(f),o&&o.forEach(e=>e(r)),t)return t(r)},b=setTimeout(s.bind(null,void 0,{type:"timeout",target:f}),12e4);f.onerror=s.bind(null,f.onerror),f.onload=s.bind(null,f.onload),i&&document.head.appendChild(f)}},c.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.p="/",c.gca=function(e){return e={17896441:"401",33362219:"532",c8078f0a:"26",a94703ab:"48",a7bd4aaa:"98",e633a5ea:"172","749371cc":"272","22dd74f7":"567","0ba6a408":"571","5e95c892":"647",eb5b356a:"668",af920ffe:"717",aba21aa0:"742",d0314b07:"750",ca2c3c0c:"919","21afe7ac":"961"}[e]||e,c.p+c.u(e)},(()=>{var e={354:0,869:0};c.f.j=(t,r)=>{var a=c.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(354|869)$/.test(t))e[t]=0;else{var o=new Promise((r,o)=>a=e[t]=[r,o]);r.push(a[2]=o);var n=c.p+c.u(t),f=new Error;c.l(n,r=>{if(c.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var o=r&&("load"===r.type?"missing":r.type),n=r&&r.target&&r.target.src;f.message="Loading chunk "+t+" failed.\n("+o+": "+n+")",f.name="ChunkLoadError",f.type=o,f.request=n,a[1](f)}},"chunk-"+t,t)}},c.O.j=t=>0===e[t];var t=(t,r)=>{var a,o,n=r[0],f=r[1],i=r[2],d=0;if(n.some(t=>0!==e[t])){for(a in f)c.o(f,a)&&(c.m[a]=f[a]);if(i)var u=i(c)}for(t&&t(r);dDeploy with Docker | OpenRAG
-
+
diff --git a/get-started/tui/index.html b/get-started/tui/index.html
index 760d11b6..953f3d4c 100644
--- a/get-started/tui/index.html
+++ b/get-started/tui/index.html
@@ -4,7 +4,7 @@
Terminal User Interface (TUI) commands | OpenRAG
-
+
diff --git a/index.html b/index.html
index 445ad021..21788b77 100644
--- a/index.html
+++ b/index.html
@@ -4,7 +4,7 @@
What is OpenRAG? | OpenRAG
-
+
diff --git a/ingestion/index.html b/ingestion/index.html
index 9df5d8de..98a4a7cd 100644
--- a/ingestion/index.html
+++ b/ingestion/index.html
@@ -4,7 +4,7 @@
Docling Ingestion | OpenRAG
-
+
diff --git a/install/index.html b/install/index.html
index 0d13d4d3..1bc33b61 100644
--- a/install/index.html
+++ b/install/index.html
@@ -4,7 +4,7 @@
Install OpenRAG | OpenRAG
-
+
diff --git a/knowledge/index.html b/knowledge/index.html
index 486eb43a..1db2862b 100644
--- a/knowledge/index.html
+++ b/knowledge/index.html
@@ -4,7 +4,7 @@
OpenSearch Knowledge | OpenRAG
-
+
diff --git a/quickstart/index.html b/quickstart/index.html
index 6ca00798..5b96840f 100644
--- a/quickstart/index.html
+++ b/quickstart/index.html
@@ -4,7 +4,7 @@
Quickstart | OpenRAG
-
+
diff --git a/reference/configuration/index.html b/reference/configuration/index.html
index 1997aa8b..61c53b79 100644
--- a/reference/configuration/index.html
+++ b/reference/configuration/index.html
@@ -4,7 +4,7 @@
Environment variables | OpenRAG
-
+
@@ -64,7 +64,7 @@ For more information, see Ingestion.