1 line
No EOL
23 KiB
JavaScript
1 line
No EOL
23 KiB
JavaScript
"use strict";(globalThis.webpackChunkopenrag_docs=globalThis.webpackChunkopenrag_docs||[]).push([[9026],{9196:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>t,default:()=>a,frontMatter:()=>l,metadata:()=>i,toc:()=>o});const i=JSON.parse('{"id":"reference/configuration","title":"Environment variables","description":"OpenRAG recognizes 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":"Chat","permalink":"/chat"},"next":{"title":"Troubleshoot OpenRAG","permalink":"/support/troubleshoot"}}');var r=s(4848),d=s(8453);s(7733),s(1470),s(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}];function h(e){const n={a:"a",code:"code",em:"em",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,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"OpenRAG recognizes environment variables from the following sources:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"#configure-environment-variables",children:"Environment variables"}),": Values set in the ",(0,r.jsx)(n.code,{children:".env"})," file."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"#langflow-runtime-overrides",children:"Langflow runtime overrides"}),": Langflow components can set environment variables at runtime."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.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,r.jsx)(n.h2,{id:"configure-environment-variables",children:"Configure environment variables"}),"\n",(0,r.jsxs)(n.p,{children:["Environment variables are set in a ",(0,r.jsx)(n.code,{children:".env"})," file in the root of your OpenRAG project directory."]}),"\n",(0,r.jsxs)(n.p,{children:["For an example ",(0,r.jsx)(n.code,{children:".env"})," file, see ",(0,r.jsxs)(n.a,{href:"https://github.com/langflow-ai/openrag/blob/main/.env.example",children:[(0,r.jsx)(n.code,{children:".env.example"})," in the OpenRAG repository"]}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["The Docker Compose files are populated with values from your ",(0,r.jsx)(n.code,{children:".env"}),", so you don't need to edit the Docker Compose files manually."]}),"\n",(0,r.jsx)(n.p,{children:"Environment variables always take precedence over other variables."}),"\n",(0,r.jsx)(n.h3,{id:"set-environment-variables",children:"Set environment variables"}),"\n",(0,r.jsxs)(n.p,{children:["After you start OpenRAG, you must ",(0,r.jsx)(n.a,{href:"/install#tui-container-management",children:"stop and restart OpenRAG containers"})," to apply any changes you make to the ",(0,r.jsx)(n.code,{children:".env"})," file."]}),"\n",(0,r.jsx)(n.p,{children:"To set mutable environment variables, do the following:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Stop OpenRAG with the TUI or Docker Compose."}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Set the values in the ",(0,r.jsx)(n.code,{children:".env"})," file:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"LOG_LEVEL=DEBUG\nLOG_FORMAT=json\nSERVICE_NAME=openrag-dev\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Start OpenRAG with the TUI or Docker Compose."}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Certain environment variables that you set during ",(0,r.jsx)(n.a,{href:"/install#application-onboarding",children:"application onboarding"}),", such as provider API keys and provider endpoints, require resetting the containers after modifying the ",(0,r.jsx)(n.code,{children:".env"})," file."]}),"\n",(0,r.jsxs)(n.p,{children:["To change immutable variables with TUI-managed containers, you must ",(0,r.jsx)(n.a,{href:"/install#reinstall",children:"reinstall OpenRAG"})," and either delete or modify the ",(0,r.jsx)(n.code,{children:".env"})," file before you repeat the setup and onboarding process in the TUI."]}),"\n",(0,r.jsx)(n.p,{children:"To change immutable variables with self-managed containers, do the following:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Stop OpenRAG with Docker Compose."}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Remove the containers:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"docker-compose down\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Update the values in your ",(0,r.jsx)(n.code,{children:".env"})," file."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Start OpenRAG with Docker Compose:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"docker-compose up -d\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Repeat ",(0,r.jsx)(n.a,{href:"/install#application-onboarding",children:"application onboarding"}),". The values in your ",(0,r.jsx)(n.code,{children:".env"})," file are automatically populated."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"supported-environment-variables",children:"Supported environment variables"}),"\n",(0,r.jsx)(n.p,{children:"All OpenRAG configuration can be controlled through environment variables."}),"\n",(0,r.jsx)(n.h3,{id:"ai-provider-settings",children:"AI provider settings"}),"\n",(0,r.jsxs)(n.p,{children:["Configure which models and providers OpenRAG uses to generate text and embeddings.\nThese are initially set during ",(0,r.jsx)(n.a,{href:"/install#application-onboarding",children:"application onboarding"}),".\nSome values are immutable and can only be changed by recreating the OpenRAG containers, as explained in ",(0,r.jsx)(n.a,{href:"#set-environment-variables",children:"Set environment variables"}),"."]}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Variable"}),(0,r.jsx)(n.th,{children:"Default"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"EMBEDDING_MODEL"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"text-embedding-3-small"})}),(0,r.jsx)(n.td,{children:"Embedding model for generating vector embeddings for documents in the knowledge base and similarity search queries. Can be changed after application onboarding. Accepts one or more models."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"LLM_MODEL"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"gpt-4o-mini"})}),(0,r.jsxs)(n.td,{children:["Language model for language processing and text generation in the ",(0,r.jsx)(n.strong,{children:"Chat"})," feature."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"MODEL_PROVIDER"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"openai"})}),(0,r.jsx)(n.td,{children:"Model provider, such as OpenAI or IBM watsonx.ai."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"OPENAI_API_KEY"})}),(0,r.jsx)(n.td,{children:"Not set"}),(0,r.jsxs)(n.td,{children:["Optional OpenAI API key for the default model. For other providers, use ",(0,r.jsx)(n.code,{children:"PROVIDER_API_KEY"}),"."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"PROVIDER_API_KEY"})}),(0,r.jsx)(n.td,{children:"Not set"}),(0,r.jsx)(n.td,{children:"API key for the model provider."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"PROVIDER_ENDPOINT"})}),(0,r.jsx)(n.td,{children:"Not set"}),(0,r.jsx)(n.td,{children:"Custom provider endpoint for the IBM and Ollama model providers. Leave unset for other model providers."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"PROVIDER_PROJECT_ID"})}),(0,r.jsx)(n.td,{children:"Not set"}),(0,r.jsx)(n.td,{children:"Project ID for the IBM watsonx.ai model provider only. Leave unset for other model providers."})]})]})]}),"\n",(0,r.jsx)(n.h3,{id:"document-processing",children:"Document processing"}),"\n",(0,r.jsxs)(n.p,{children:["Control how OpenRAG ",(0,r.jsx)(n.a,{href:"/ingestion",children:"processes and ingests documents"})," into your knowledge base."]}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Variable"}),(0,r.jsx)(n.th,{children:"Default"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"CHUNK_OVERLAP"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"200"})}),(0,r.jsx)(n.td,{children:"Overlap between chunks."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"CHUNK_SIZE"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"1000"})}),(0,r.jsx)(n.td,{children:"Text chunk size for document processing."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"DISABLE_INGEST_WITH_LANGFLOW"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"false"})}),(0,r.jsx)(n.td,{children:"Disable Langflow ingestion pipeline."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"DOCLING_OCR_ENGINE"})}),(0,r.jsx)(n.td,{children:"Set by OS"}),(0,r.jsxs)(n.td,{children:["OCR engine for document processing. For macOS, ",(0,r.jsx)(n.code,{children:"ocrmac"}),". For any other OS, ",(0,r.jsx)(n.code,{children:"easyocr"}),"."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"OCR_ENABLED"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"false"})}),(0,r.jsx)(n.td,{children:"Enable OCR for image processing."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"OPENRAG_DOCUMENTS_PATHS"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"./openrag-documents"})}),(0,r.jsx)(n.td,{children:"Document paths for ingestion."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"PICTURE_DESCRIPTIONS_ENABLED"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"false"})}),(0,r.jsx)(n.td,{children:"Enable picture descriptions."})]})]})]}),"\n",(0,r.jsx)(n.h3,{id:"langflow-settings",children:"Langflow settings"}),"\n",(0,r.jsx)(n.p,{children:"Configure Langflow authentication."}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Variable"}),(0,r.jsx)(n.th,{children:"Default"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"LANGFLOW_AUTO_LOGIN"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"False"})}),(0,r.jsx)(n.td,{children:"Enable auto-login for Langflow."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"LANGFLOW_CHAT_FLOW_ID"})}),(0,r.jsx)(n.td,{children:"Built-in flow ID"}),(0,r.jsxs)(n.td,{children:["This value is automatically set to the ID of the chat ",(0,r.jsx)(n.a,{href:"/agents",children:"flow"}),". The default value is found in ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/openrag/blob/main/.env.example",children:(0,r.jsx)(n.code,{children:".env.example"})}),". Only change this value if you explicitly don't want to use this built-in flow."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"LANGFLOW_ENABLE_SUPERUSER_CLI"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"False"})}),(0,r.jsx)(n.td,{children:"Enable superuser privileges for Langflow CLI commands."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"LANGFLOW_INGEST_FLOW_ID"})}),(0,r.jsx)(n.td,{children:"Built-in flow ID"}),(0,r.jsxs)(n.td,{children:["This value is automatically set to the ID of the ingestion ",(0,r.jsx)(n.a,{href:"/agents",children:"flow"}),". The default value is found in ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/openrag/blob/main/.env.example",children:(0,r.jsx)(n.code,{children:".env.example"})}),". Only change this value if you explicitly don't want to use this built-in flow."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"LANGFLOW_KEY"})}),(0,r.jsx)(n.td,{children:"Automatically generated"}),(0,r.jsx)(n.td,{children:"Explicit Langflow API key."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"LANGFLOW_NEW_USER_IS_ACTIVE"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"False"})}),(0,r.jsx)(n.td,{children:"Whether new Langflow users are active by default."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"LANGFLOW_PUBLIC_URL"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"http://localhost:7860"})}),(0,r.jsx)(n.td,{children:"Public URL for the Langflow instance."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"LANGFLOW_SECRET_KEY"})}),(0,r.jsx)(n.td,{children:"Not set"}),(0,r.jsx)(n.td,{children:"Secret key for Langflow internal operations."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"LANGFLOW_SUPERUSER"})}),(0,r.jsx)(n.td,{children:"None, must be explicitly set"}),(0,r.jsx)(n.td,{children:"Langflow admin username. Required."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"LANGFLOW_SUPERUSER_PASSWORD"})}),(0,r.jsx)(n.td,{children:"None, must be explicitly set"}),(0,r.jsx)(n.td,{children:"Langflow admin password. Required."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"LANGFLOW_URL"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"http://localhost:7860"})}),(0,r.jsx)(n.td,{children:"URL for the Langflow instance."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"NUDGES_FLOW_ID"})}),(0,r.jsx)(n.td,{children:"Built-in flow ID"}),(0,r.jsxs)(n.td,{children:["This value is automatically set to the ID of the nudges ",(0,r.jsx)(n.a,{href:"/agents",children:"flow"}),". The default value is found in ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/openrag/blob/main/.env.example",children:(0,r.jsx)(n.code,{children:".env.example"})}),". Only change this value if you explicitly don't want to use this built-in flow."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"SYSTEM_PROMPT"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"You are a helpful AI assistant with access to a knowledge base. Answer questions based on the provided context."})}),(0,r.jsxs)(n.td,{children:["System prompt instructions for the agent driving the ",(0,r.jsx)(n.strong,{children:"Chat"})," flow."]})]})]})]}),"\n",(0,r.jsx)(n.h3,{id:"oauth-provider-settings",children:"OAuth provider settings"}),"\n",(0,r.jsx)(n.p,{children:"Configure OAuth providers and external service integrations."}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Variable"}),(0,r.jsx)(n.th,{children:"Default"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"AWS_ACCESS_KEY_ID"})," / ",(0,r.jsx)(n.code,{children:"AWS_SECRET_ACCESS_KEY"})]}),(0,r.jsx)(n.td,{children:"-"}),(0,r.jsx)(n.td,{children:"AWS integrations."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"GOOGLE_OAUTH_CLIENT_ID"})," / ",(0,r.jsx)(n.code,{children:"GOOGLE_OAUTH_CLIENT_SECRET"})]}),(0,r.jsx)(n.td,{children:"-"}),(0,r.jsx)(n.td,{children:"Google OAuth authentication."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"MICROSOFT_GRAPH_OAUTH_CLIENT_ID"})," / ",(0,r.jsx)(n.code,{children:"MICROSOFT_GRAPH_OAUTH_CLIENT_SECRET"})]}),(0,r.jsx)(n.td,{children:"-"}),(0,r.jsx)(n.td,{children:"Microsoft OAuth."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"WEBHOOK_BASE_URL"})}),(0,r.jsx)(n.td,{children:"-"}),(0,r.jsx)(n.td,{children:"Base URL for webhook endpoints."})]})]})]}),"\n",(0,r.jsx)(n.h3,{id:"opensearch-settings",children:"OpenSearch settings"}),"\n",(0,r.jsx)(n.p,{children:"Configure OpenSearch database authentication."}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Variable"}),(0,r.jsx)(n.th,{children:"Default"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"OPENSEARCH_HOST"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"localhost"})}),(0,r.jsx)(n.td,{children:"OpenSearch host."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"OPENSEARCH_PASSWORD"})}),(0,r.jsx)(n.td,{children:"-"}),(0,r.jsx)(n.td,{children:"Password for OpenSearch admin user. Required."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"OPENSEARCH_PORT"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"9200"})}),(0,r.jsx)(n.td,{children:"OpenSearch port."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"OPENSEARCH_USERNAME"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"admin"})}),(0,r.jsx)(n.td,{children:"OpenSearch username."})]})]})]}),"\n",(0,r.jsx)(n.h3,{id:"system-settings",children:"System settings"}),"\n",(0,r.jsx)(n.p,{children:"Configure general system components, session management, and logging."}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Variable"}),(0,r.jsx)(n.th,{children:"Default"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"LANGFLOW_KEY_RETRIES"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"15"})}),(0,r.jsx)(n.td,{children:"Number of retries for Langflow key generation."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"LANGFLOW_KEY_RETRY_DELAY"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"2.0"})}),(0,r.jsx)(n.td,{children:"Delay between retries in seconds."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"LANGFLOW_VERSION"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"OPENRAG_VERSION"})}),(0,r.jsxs)(n.td,{children:["Langflow Docker image version. By default, OpenRAG uses the ",(0,r.jsx)(n.code,{children:"OPENRAG_VERSION"})," for the Langflow Docker image version."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"LOG_FORMAT"})}),(0,r.jsx)(n.td,{children:"Disabled"}),(0,r.jsxs)(n.td,{children:["Set to ",(0,r.jsx)(n.code,{children:"json"})," to enabled JSON-formatted log output."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"LOG_LEVEL"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"INFO"})}),(0,r.jsx)(n.td,{children:"Logging level (DEBUG, INFO, WARNING, ERROR)."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"MAX_WORKERS"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"1"})}),(0,r.jsx)(n.td,{children:"Maximum number of workers for document processing."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"OPENRAG_VERSION"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"latest"})}),(0,r.jsxs)(n.td,{children:["The version of the OpenRAG Docker images to run. For more information, see ",(0,r.jsx)(n.a,{href:"/install#upgrade",children:"Upgrade OpenRAG"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"SERVICE_NAME"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"openrag"})}),(0,r.jsx)(n.td,{children:"Service name for logging."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"SESSION_SECRET"})}),(0,r.jsx)(n.td,{children:"Automatically generated"}),(0,r.jsx)(n.td,{children:"Session management."})]})]})]}),"\n",(0,r.jsx)(n.h2,{id:"langflow-runtime-overrides",children:"Langflow runtime overrides"}),"\n",(0,r.jsxs)(n.p,{children:["You can modify ",(0,r.jsx)(n.a,{href:"/agents",children:"flow"})," settings at runtime without permanently changing the flow's configuration."]}),"\n",(0,r.jsxs)(n.p,{children:["Runtime overrides are implemented through ",(0,r.jsx)(n.em,{children:"tweaks"}),", which are one-time parameter modifications that are passed to specific Langflow components during flow execution."]}),"\n",(0,r.jsxs)(n.p,{children:["For more information on tweaks, see the Langflow documentation on ",(0,r.jsx)(n.a,{href:"https://docs.langflow.org/concepts-publish#input-schema",children:"Input schema (tweaks)"}),"."]}),"\n",(0,r.jsx)(n.h2,{id:"default-values-and-fallbacks",children:"Default values and fallbacks"}),"\n",(0,r.jsx)(n.p,{children:"If a variable isn't set by environment variables or a configuration file, OpenRAG can use a default value if one is defined in the codebase.\nDefault values can be found in the OpenRAG repository:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["OpenRAG configuration: ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/openrag/blob/main/src/config/config_manager.py",children:(0,r.jsx)(n.code,{children:"config_manager.py"})})]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["System configuration: ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/openrag/blob/main/src/config/settings.py",children:(0,r.jsx)(n.code,{children:"settings.py"})})]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Logging configuration: ",(0,r.jsx)(n.a,{href:"https://github.com/langflow-ai/openrag/blob/main/src/utils/logging_config.py",children:(0,r.jsx)(n.code,{children:"logging_config.py"})})]}),"\n"]}),"\n"]})]})}function a(e={}){const{wrapper:n}={...(0,d.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}}}]); |