openrag/get-started/docker/index.html
2025-10-24 15:34:01 +00:00

138 lines
No EOL
33 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-get-started/docker" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.8.1">
<title data-rh="true">Install OpenRAG containers | OpenRAG</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="robots" content="noindex, nofollow"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.openr.ag/get-started/docker"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Install OpenRAG containers | OpenRAG"><meta data-rh="true" name="description" content="OpenRAG has two Docker Compose files. Both files deploy the same applications and containers locally, but they are for different environments."><meta data-rh="true" property="og:description" content="OpenRAG has two Docker Compose files. Both files deploy the same applications and containers locally, but they are for different environments."><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.openr.ag/get-started/docker"><link data-rh="true" rel="alternate" href="https://docs.openr.ag/get-started/docker" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.openr.ag/get-started/docker" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Install OpenRAG containers","item":"https://docs.openr.ag/get-started/docker"}]}</script><link rel="stylesheet" href="/assets/css/styles.1847d619.css">
<script src="/assets/js/runtime~main.3d4ed82a.js" defer="defer"></script>
<script src="/assets/js/main.30bdb21a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>!function(){var t="light";var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",e||t),document.documentElement.setAttribute("data-theme-choice",e||t)}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><link rel="preload" as="image" href="/img/logo-openrag-light.svg"><link rel="preload" as="image" href="/img/logo-openrag-dark.svg"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="theme-layout-navbar navbar navbar--fixed-top"><div class="navbar__inner"><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo-openrag-light.svg" alt="OpenRAG Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo-openrag-dark.svg" alt="OpenRAG Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a href="https://github.com/langflow-ai/openrag" target="_blank" class="navbar__item navbar__link header-github-link" aria-label="GitHub repository"></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="system mode" aria-label="Switch between dark and light mode (currently system mode)"><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP systemToggleIcon_QzmC"><path fill="currentColor" d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/">About OpenRAG</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/install">Install OpenRAG with TUI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/get-started/docker">Install OpenRAG containers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/quickstart">Quickstart</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/agents">Langflow in OpenRAG</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/knowledge">OpenSearch in OpenRAG</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/ingestion">Docling in OpenRAG</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/reference/configuration">Environment variables</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/support/troubleshoot">Troubleshooting</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link">Install OpenRAG containers</span></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Install OpenRAG containers</h1></header><p>OpenRAG has two Docker Compose files. Both files deploy the same applications and containers locally, but they are for different environments.</p>
<ul>
<li>
<p><a href="https://github.com/langflow-ai/openrag/blob/main/docker-compose.yml" target="_blank" rel="noopener noreferrer"><code>docker-compose.yml</code></a> is an OpenRAG deployment with GPU support for accelerated AI processing. This Docker Compose file requires an NVIDIA GPU with <a href="https://docs.nvidia.com/cuda/" target="_blank" rel="noopener noreferrer">CUDA</a> support.</p>
</li>
<li>
<p><a href="https://github.com/langflow-ai/openrag/blob/main/docker-compose-cpu.yml" target="_blank" rel="noopener noreferrer"><code>docker-compose-cpu.yml</code></a> is a CPU-only version of OpenRAG for systems without NVIDIA GPU support. Use this Docker Compose file for environments where GPU drivers aren&#x27;t available.</p>
</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="prerequisites">Prerequisites<a href="#prerequisites" class="hash-link" aria-label="Direct link to Prerequisites" title="Direct link to Prerequisites"></a></h2>
<ul>
<li>Install <a href="https://www.python.org/downloads/release/python-3100/" target="_blank" rel="noopener noreferrer">Python Version 3.10 to 3.13</a></li>
<li>Install <a href="https://docs.astral.sh/uv/getting-started/installation/" target="_blank" rel="noopener noreferrer">uv</a></li>
<li>Install <a href="https://podman.io/docs/installation" target="_blank" rel="noopener noreferrer">Podman</a> (recommended) or <a href="https://docs.docker.com/get-docker/" target="_blank" rel="noopener noreferrer">Docker</a></li>
<li>Install <a href="https://docs.docker.com/compose/install/" target="_blank" rel="noopener noreferrer">Docker Compose</a>. If using Podman, use <a href="https://docs.podman.io/en/latest/markdown/podman-compose.1.html" target="_blank" rel="noopener noreferrer">podman-compose</a> or alias Docker compose commands to Podman commands.</li>
<li>Create an <a href="https://platform.openai.com/api-keys" target="_blank" rel="noopener noreferrer">OpenAI API key</a>. This key is <strong>required</strong> to start OpenRAG, but you can choose a different model provider during <a href="#application-onboarding">Application Onboarding</a>.</li>
<li>Optional: Install GPU support with an NVIDIA GPU, <a href="https://docs.nvidia.com/cuda/" target="_blank" rel="noopener noreferrer">CUDA</a> support, and compatible NVIDIA drivers on the OpenRAG host machine. If you don&#x27;t have GPU capabilities, OpenRAG provides an alternate CPU-only deployment.</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="install-openrag-with-docker-compose">Install OpenRAG with Docker Compose<a href="#install-openrag-with-docker-compose" class="hash-link" aria-label="Direct link to Install OpenRAG with Docker Compose" title="Direct link to Install OpenRAG with Docker Compose"></a></h2>
<p>To install OpenRAG with Docker Compose, do the following:</p>
<ol>
<li>
<p>Clone the OpenRAG repository.</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">git clone https://github.com/langflow-ai/openrag.git</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">cd openrag</span><br></span></code></pre></div></div>
</li>
<li>
<p>Install dependencies.</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">uv sync</span><br></span></code></pre></div></div>
</li>
<li>
<p>Copy the example <code>.env</code> file included in the repository root.
The example file includes all environment variables with comments to guide you in finding and setting their values.</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">cp .env.example .env</span><br></span></code></pre></div></div>
<p>Alternatively, create a new <code>.env</code> file in the repository root.</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">touch .env</span><br></span></code></pre></div></div>
</li>
<li>
<p>The Docker Compose files are populated with the values from your .env. The following values must be set:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">OPENSEARCH_PASSWORD=your_secure_password</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">OPENAI_API_KEY=your_openai_api_key</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">LANGFLOW_SUPERUSER=admin</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">LANGFLOW_SUPERUSER_PASSWORD=your_langflow_password</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">LANGFLOW_SECRET_KEY=your_secret_key</span><br></span></code></pre></div></div>
<p>For more information on configuring OpenRAG with environment variables, see <a href="/reference/configuration">Environment variables</a>.</p>
</li>
<li>
<p>Start <code>docling serve</code> on the host machine.
OpenRAG Docker installations require that <code>docling serve</code> is running on port 5001 on the host machine.
This enables <a href="https://opensource.apple.com/projects/mlx/" target="_blank" rel="noopener noreferrer">Mac MLX</a> support for document processing.</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">uv run python scripts/docling_ctl.py start --port 5001</span><br></span></code></pre></div></div>
</li>
<li>
<p>Confirm <code>docling serve</code> is running.</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">uv run python scripts/docling_ctl.py status</span><br></span></code></pre></div></div>
<p>Make sure the response shows that <code>docling serve</code> is running, for example:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Status: running</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">Endpoint: http://127.0.0.1:5001</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">Docs: http://127.0.0.1:5001/docs</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">PID: 27746</span><br></span></code></pre></div></div>
</li>
<li>
<p>Deploy OpenRAG locally with Docker Compose based on your deployment type.</p>
<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">docker-compose.yml</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">docker-compose-cpu.yml</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">docker compose build</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">docker compose up -d</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">docker compose -f docker-compose-cpu.yml up -d</span><br></span></code></pre></div></div></div></div></div>
<p>The OpenRAG Docker Compose file starts five containers:</p>
<table><thead><tr><th>Container Name</th><th>Default Address</th><th>Purpose</th></tr></thead><tbody><tr><td>OpenRAG Backend</td><td><a href="http://localhost:8000" target="_blank" rel="noopener noreferrer">http://localhost:8000</a></td><td>FastAPI server and core functionality.</td></tr><tr><td>OpenRAG Frontend</td><td><a href="http://localhost:3000" target="_blank" rel="noopener noreferrer">http://localhost:3000</a></td><td>React web interface for users.</td></tr><tr><td>Langflow</td><td><a href="http://localhost:7860" target="_blank" rel="noopener noreferrer">http://localhost:7860</a></td><td>AI workflow engine and flow management.</td></tr><tr><td>OpenSearch</td><td><a href="http://localhost:9200" target="_blank" rel="noopener noreferrer">http://localhost:9200</a></td><td>Vector database for document storage.</td></tr><tr><td>OpenSearch Dashboards</td><td><a href="http://localhost:5601" target="_blank" rel="noopener noreferrer">http://localhost:5601</a></td><td>Database administration interface.</td></tr></tbody></table>
</li>
<li>
<p>Verify installation by confirming all services are running.</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">docker compose ps</span><br></span></code></pre></div></div>
<p>You can now access OpenRAG at the following endpoints:</p>
<ul>
<li><strong>Frontend</strong>: <a href="http://localhost:3000" target="_blank" rel="noopener noreferrer">http://localhost:3000</a></li>
<li><strong>Backend API</strong>: <a href="http://localhost:8000" target="_blank" rel="noopener noreferrer">http://localhost:8000</a></li>
<li><strong>Langflow</strong>: <a href="http://localhost:7860" target="_blank" rel="noopener noreferrer">http://localhost:7860</a></li>
</ul>
</li>
<li>
<p>Continue with <a href="#application-onboarding">Application Onboarding</a>.</p>
</li>
</ol>
<p>To stop <code>docling serve</code> when you&#x27;re done with your OpenRAG deployment, run:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">uv run python scripts/docling_ctl.py stop</span><br></span></code></pre></div></div>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="application-onboarding">Application onboarding<a href="#application-onboarding" class="hash-link" aria-label="Direct link to Application onboarding" title="Direct link to Application onboarding"></a></h2>
<p>The first time you start OpenRAG, whether using the TUI or a <code>.env</code> file, you must complete application onboarding.</p>
<p>Values from onboarding can be changed later in the OpenRAG <strong>Settings</strong> page.</p>
<p>Choose one LLM provider and complete only those steps:</p>
<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">OpenAI</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">IBM watsonx.ai</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Ollama</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><ol>
<li>Enable <strong>Get API key from environment variable</strong> to automatically enter your key from the TUI-generated <code>.env</code> file.
Alternatively, paste an OpenAI API key into the field.</li>
<li>Under <strong>Advanced settings</strong>, select your <strong>Embedding Model</strong> and <strong>Language Model</strong>.</li>
<li>To load 2 sample PDFs, enable <strong>Sample dataset</strong>.
This is recommended, but not required.</li>
<li>Click <strong>Complete</strong>.</li>
<li>Continue with the <a href="/quickstart">Quickstart</a>.</li>
</ol></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><ol>
<li>Complete the fields for <strong>watsonx.ai API Endpoint</strong>, <strong>IBM API key</strong>, and <strong>IBM Project ID</strong>.
These values are found in your IBM watsonx deployment.</li>
<li>Under <strong>Advanced settings</strong>, select your <strong>Embedding Model</strong> and <strong>Language Model</strong>.</li>
<li>To load 2 sample PDFs, enable <strong>Sample dataset</strong>.
This is recommended, but not required.</li>
<li>Click <strong>Complete</strong>.</li>
<li>Continue with the <a href="/quickstart">Quickstart</a>.</li>
</ol></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Ollama is not included with OpenRAG. To install Ollama, see the <a href="https://docs.ollama.com/" target="_blank" rel="noopener noreferrer">Ollama documentation</a>.</p></div></div><ol>
<li>Enter your Ollama server&#x27;s base URL address.
The default Ollama server address is <code>http://localhost:11434</code>.
OpenRAG automatically transforms <code>localhost</code> to access services outside of the container, and sends a test connection to your Ollama server to confirm connectivity.</li>
<li>Select the <strong>Embedding Model</strong> and <strong>Language Model</strong> your Ollama server is running.
OpenRAG retrieves the available models from your Ollama server.</li>
<li>To load 2 sample PDFs, enable <strong>Sample dataset</strong>.
This is recommended, but not required.</li>
<li>Click <strong>Complete</strong>.</li>
<li>Continue with the <a href="/quickstart">Quickstart</a>.</li>
</ol></div></div></div>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="container-management-commands">Container management commands<a href="#container-management-commands" class="hash-link" aria-label="Direct link to Container management commands" title="Direct link to Container management commands"></a></h2>
<p>Manage your OpenRAG containers with the following commands.
These commands are also available in the TUI&#x27;s <a href="/install#status">Status menu</a>.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="upgrade-containers">Upgrade containers<a href="#upgrade-containers" class="hash-link" aria-label="Direct link to Upgrade containers" title="Direct link to Upgrade containers"></a></h3>
<p>Upgrade your containers to the latest version while preserving your data.</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">docker compose pull</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">docker compose up -d --force-recreate</span><br></span></code></pre></div></div>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="rebuild-containers-destructive">Rebuild containers (destructive)<a href="#rebuild-containers-destructive" class="hash-link" aria-label="Direct link to Rebuild containers (destructive)" title="Direct link to Rebuild containers (destructive)"></a></h3>
<p>Reset state by rebuilding all of your containers.
Your OpenSearch and Langflow databases will be lost.
Documents stored in the <code>./documents</code> directory will persist, since the directory is mounted as a volume in the OpenRAG backend container.</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">docker compose up --build --force-recreate --remove-orphans</span><br></span></code></pre></div></div>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="remove-all-containers-and-data-destructive">Remove all containers and data (destructive)<a href="#remove-all-containers-and-data-destructive" class="hash-link" aria-label="Direct link to Remove all containers and data (destructive)" title="Direct link to Remove all containers and data (destructive)"></a></h3>
<p>Completely remove your OpenRAG installation and delete all data.
This deletes all of your data, including OpenSearch data, uploaded documents, and authentication.</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">docker compose down --volumes --remove-orphans --rmi local</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">docker system prune -f</span><br></span></code></pre></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/openrag/openrag/tree/main/docs/docs/get-started/docker.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/install"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Install OpenRAG with TUI</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/quickstart"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Quickstart</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#prerequisites" class="table-of-contents__link toc-highlight">Prerequisites</a></li><li><a href="#install-openrag-with-docker-compose" class="table-of-contents__link toc-highlight">Install OpenRAG with Docker Compose</a></li><li><a href="#application-onboarding" class="table-of-contents__link toc-highlight">Application onboarding</a></li><li><a href="#container-management-commands" class="table-of-contents__link toc-highlight">Container management commands</a><ul><li><a href="#upgrade-containers" class="table-of-contents__link toc-highlight">Upgrade containers</a></li><li><a href="#rebuild-containers-destructive" class="table-of-contents__link toc-highlight">Rebuild containers (destructive)</a></li><li><a href="#remove-all-containers-and-data-destructive" class="table-of-contents__link toc-highlight">Remove all containers and data (destructive)</a></li></ul></li></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class="footer__title"></div><ul class="footer__items clean-list"><li class="footer__item"><div class="footer-links">
<span>© 2025 OpenRAG</span>
</div></li></ul></div></div></div></footer></div>
</body>
</html>