Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
e566a1a
add the option of deleting an existing index during onboarding
matanor Jan 19, 2026
a4693d0
remove redundant f-string
matanor Jan 19, 2026
4252050
Merge branch 'main' into delete_existing_index_in_onboarding
matanor Jan 24, 2026
c02e16c
Merge branch 'main' into delete_existing_index_in_onboarding
matanor Jan 29, 2026
c32121c
remove install script part 1
aimurphy Feb 5, 2026
113096d
remove install script page and redirect
aimurphy Feb 5, 2026
d01d07a
delete install script
aimurphy Feb 5, 2026
45ce426
update quickstart to use uvx
aimurphy Feb 5, 2026
fe5ba72
uvx installs docker or podman
aimurphy Feb 5, 2026
846cd4b
Merge branch 'main' into delete_existing_index_in_onboarding
matanor Feb 5, 2026
41b0e50
fix-langfuse-link-errors
mendonk Feb 5, 2026
affead3
add-client-redirects-package
mendonk Feb 5, 2026
5f4abc6
Merge branch 'main' into docs-quickstart-uvx
mendonk Feb 5, 2026
cd21097
separate all prerequisite partials
aimurphy Feb 6, 2026
023308d
Merge branch 'main' into docs-quickstart-uvx
aimurphy Feb 6, 2026
50644e5
edit uv cache description
aimurphy Feb 6, 2026
26f7c24
Merge branch 'main' into docs-quickstart-uvx
aimurphy Feb 11, 2026
5625a91
Merge branch 'main' into docs-quickstart-uvx
aimurphy Feb 13, 2026
2a6603a
python version
aimurphy Feb 13, 2026
b66e0bf
python version
aimurphy Feb 13, 2026
5c2d4fd
api, mcp link
aimurphy Feb 13, 2026
d5118a0
issue 908
aimurphy Feb 13, 2026
f1dad25
configurable timeouts
aimurphy Feb 13, 2026
350816d
issue 909
aimurphy Feb 13, 2026
dae06ab
issue 911
aimurphy Feb 13, 2026
f4a4693
Merge pull request #961 from langflow-ai/docs-issue-781
aimurphy Feb 13, 2026
898609c
Update docs/docs/core-components/knowledge-connectors.mdx
aimurphy Feb 13, 2026
6496b26
Merge pull request #962 from langflow-ai/docs-issue-908
aimurphy Feb 13, 2026
47114eb
Merge branch 'main' into docs-quickstart-uvx
aimurphy Feb 13, 2026
3b1f629
Merge branch 'main' into docs-quickstart-uvx
aimurphy Feb 13, 2026
6f7db11
Merge remote-tracking branch 'remotes/upstream/main' into delete_exis…
matanor Feb 15, 2026
ff59505
update to use get_index_name() instead of INDEX_NAME
matanor Feb 15, 2026
03e0691
fix(tui): do not create a directory on keydown for OpenRAG documents …
philnash Feb 16, 2026
e994059
fix(tui): validates that the opensearch data directory is writable
philnash Feb 16, 2026
1465ef9
chore(tui): remove unused methods
philnash Feb 16, 2026
9546efc
chore(tui): tidies up tui config code
philnash Feb 16, 2026
4fbbc46
Merge pull request #905 from langflow-ai/docs-quickstart-uvx
aimurphy Feb 16, 2026
2882234
Merge branch 'main' into philnash/tui-extras
philnash Feb 17, 2026
c9e0660
Detect Next.js port
TejasQ Feb 16, 2026
a2eea4d
Error on port conflict
TejasQ Feb 16, 2026
e617244
refactor(knowledge): extract ingestion status dialog to controlled st…
philnash Feb 18, 2026
3e5b77d
fix: Index creation on ingest/check duplicate if it doesn't exist (#978)
mfortman11 Feb 18, 2026
1997f25
Move helm chart to kubernetes parent folder, add env variable support…
Feb 18, 2026
23133e7
added try catch for usage exceeded (#985)
lucaseduoli Feb 18, 2026
bfa7242
reorganize config, add launch button to modal, improve podman with ex…
phact Feb 18, 2026
b126d4a
Merge pull request #987 from langflow-ai/tui-launch-and-config-improv…
phact Feb 18, 2026
edea93f
fix: Data ingestion fails due to OpenSearch "documents" index not fou…
mpawlow Feb 13, 2026
5e01c23
fix: Data ingestion fails due to OpenSearch "documents" index not fou…
mpawlow Feb 17, 2026
a2eefe3
fix: Data ingestion fails due to OpenSearch "documents" index not fou…
mpawlow Feb 18, 2026
b877c38
fix: Data ingestion fails due to OpenSearch "documents" index not fou…
mpawlow Feb 18, 2026
f5635c9
parameterize Open Search password
Feb 18, 2026
497d2d0
Allow specifying OpenRag sample document names to import in the value…
Feb 18, 2026
9b61ea2
Merge pull request #974 from langflow-ai/mp_847
mpawlow Feb 18, 2026
4ca6786
Include the ability to specify the git hash to download specific vers…
Feb 18, 2026
284fb61
Merge branch 'main' into philnash/tui-extras
philnash Feb 19, 2026
feabf07
no tui cli wizard
phact Feb 19, 2026
68abf68
Merge branch 'main' into no-tui-startup
phact Feb 19, 2026
bddb4c3
fix: Fix how the task menu panel covers the knowledge filter panel (#…
mfortman11 Feb 19, 2026
acbf516
Merge pull request #993 from langflow-ai/no-tui-startup
phact Feb 19, 2026
0a9acf2
Merge branch 'main' into philnash/tui-extras
phact Feb 19, 2026
63e0cd3
Merge branch 'main' into detect-port
phact Feb 19, 2026
0b1397f
Merge remote-tracking branch 'origin/main' into detect-port
phact Feb 19, 2026
afe9a59
unify config
phact Feb 19, 2026
f1874f0
Merge pull request #969 from langflow-ai/detect-port
phact Feb 19, 2026
ad35721
merge
phact Feb 19, 2026
da38cab
migrate sidebar panel to use shadcn
mfortman11 Feb 19, 2026
726b682
Merge branch 'main' into shad-sidebars
mfortman11 Feb 19, 2026
c7873f9
Merge pull request #968 from philnash/philnash/tui-extras
phact Feb 19, 2026
b7b2ccd
uvx for doclilng-serve
phact Feb 19, 2026
ea5660d
Merge pull request #1002 from langflow-ai/dockling-serve-uvx
edwinjosechittilappilly Feb 19, 2026
3079aeb
Merge pull request #999 from langflow-ai/shad-sidebars
mfortman11 Feb 20, 2026
173769b
fix(security): Clear-text storage of sensitive information
mpawlow Feb 19, 2026
e1e4234
fix(security): Clear-text storage of sensitive information
mpawlow Feb 20, 2026
8b90f95
fix: add missing env variables from .env.example and docker compose (…
lucaseduoli Feb 20, 2026
629890a
Revert rebase changes to ingestion_flow.json, these changes are compa…
Feb 23, 2026
f66118d
Merge pull request #1004 from langflow-ai/mp/fix/GH-938-cleartext-ope…
mpawlow Feb 23, 2026
9589517
Revert to PTT ingestion flow
Feb 23, 2026
2861aea
Update ingestion_flow.json
edwinjosechittilappilly Feb 23, 2026
e5c8197
Merge remote-tracking branch 'origin/main' into rgeve_fix_helm_chart_…
Feb 23, 2026
ca71a39
Merge remote-tracking branch 'origin/rgeve_fix_helm_chart_feb6' into …
Feb 23, 2026
6727a92
Do not specify flow file hash values until we have a set of verified …
Feb 23, 2026
32f6e91
Merge pull request #986 from langflow-ai/rgeve_fix_helm_chart_feb6
rodageve Feb 23, 2026
6a239eb
Merge remote-tracking branch 'remotes/upstream/main' into delete_exis…
matanor Feb 24, 2026
30452c7
fix indentation
matanor Feb 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 50 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ INGEST_SAMPLE_DATA=true
# LANGFLOW_TIMEOUT=2400
# LANGFLOW_CONNECT_TIMEOUT=30

# Per-file processing timeout for document ingestion tasks (in seconds)
# OPTIONAL: Per-file processing timeout for document ingestion tasks (in seconds)
# Should be >= LANGFLOW_TIMEOUT to allow long-running ingestion to complete
# Default: 3600 seconds (60 minutes) total timeout
# INGESTION_TIMEOUT=3600
Expand Down Expand Up @@ -45,6 +45,11 @@ OPENSEARCH_PASSWORD=
# Default: ./opensearch-data
OPENSEARCH_DATA_PATH=./opensearch-data

# OpenSearch Connection
OPENSEARCH_HOST=opensearch
OPENSEARCH_PORT=9200
OPENSEARCH_USERNAME=admin

# OpenSearch index name for storing documents
# Default: documents
# Change this if you want to use a different index name or avoid conflicts
Expand Down Expand Up @@ -123,7 +128,51 @@ NEXT_ALLOWED_DEV_ORIGINS=
# LANGFLOW_WORKERS=2 # Langflow workers (default: 1)
# DOCLING_WORKERS=2 # Docling workers (default: 1)

# OPTIONAL: Set the logging level for the Backend service
# - Supported values: DEBUG, INFO, WARNING, ERROR, CRITICAL
# - Default: INFO
# LOG_LEVEL=DEBUG

# OPTIONAL: Disable colored log output (https://no-color.org)
# - When set (to any value), ANSI color codes are omitted from log output
# NO_COLOR=1

# OPTIONAL: Enable or disable HTTP access logging events
# - e.g. INFO: 127.0.0.1:45132 - "GET /tasks HTTP/1.1" 200 OK
# - Default: true
# ACCESS_LOG=false

# OpenRAG Configuration
# The version tag for OpenRAG Docker images (e.g., 'latest', 'v1.0.0').
# This is automatically managed by the TUI during updates to match the Python package version,
# but can be pinned here to lock the deployment to a specific version when running OpenRAG with Make commands.
OPENRAG_VERSION=latest

# The local documents path for ingestion.
OPENRAG_DOCUMENTS_PATH=./openrag-documents

# Langflow Configuration
# API Key for authenticating with Langflow.
# If not provided, OpenRAG will automatically generate one using the superuser credentials
# (LANGFLOW_SUPERUSER and LANGFLOW_SUPERUSER_PASSWORD).
LANGFLOW_KEY=

# Number of retry attempts when generating the Langflow API key (default: 15)
LANGFLOW_KEY_RETRIES=

# Delay in seconds between API key generation retry attempts (default: 2.0)
LANGFLOW_KEY_RETRY_DELAY=

# Version of Langflow (informational/future use)
# LANGFLOW_VERSION=

# Logging and Service
# Format for log messages (default: json)
LOG_FORMAT=
# Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
LOG_LEVEL=
# Service name used in logs (default: openrag)
SERVICE_NAME=openrag
# Secret key for session management (auto-generated if not provided)
SESSION_SECRET=

8 changes: 7 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ endef
.PHONY: help check_tools help_docker help_dev help_test help_local help_utils \
dev dev-cpu dev-local dev-local-cpu stop clean build logs \
shell-backend shell-frontend install \
test test-integration test-ci test-ci-local test-sdk test-os-jwt lint \
test test-unit test-integration test-ci test-ci-local test-sdk test-os-jwt lint \
backend frontend docling docling-stop install-be install-fe build-be build-fe build-os build-lf logs-be logs-fe logs-lf logs-os \
shell-be shell-lf shell-os restart status health db-reset clear-os-data flow-upload setup factory-reset \
dev-branch build-langflow-dev stop-dev clean-dev logs-dev logs-lf-dev shell-lf-dev restart-dev status-dev
Expand Down Expand Up @@ -226,6 +226,7 @@ help_test: ## Show testing commands
@echo ''
@echo "$(PURPLE)Unit & Integration Tests:$(NC)"
@echo " $(PURPLE)make test$(NC) - Run all backend tests"
@echo " $(PURPLE)make test-unit$(NC) - Run unit tests only (tests/unit/)"
@echo " $(PURPLE)make test-integration$(NC) - Run integration tests (requires infra)"
@echo ''
@echo "$(PURPLE)CI Tests:$(NC)"
Expand Down Expand Up @@ -608,6 +609,11 @@ test: ## Run all backend tests
uv run pytest tests/ -v
@echo "$(PURPLE)Tests complete.$(NC)"

test-unit: ## Run unit tests only
@echo "$(YELLOW)Running unit tests...$(NC)"
uv run pytest tests/unit/ -v
@echo "$(PURPLE)Unit tests complete.$(NC)"

test-integration: ## Run integration tests (requires infrastructure)
@echo "$(YELLOW)Running integration tests (requires infrastructure)...$(NC)"
@echo "$(CYAN)Make sure to run 'make dev-local' first!$(NC)"
Expand Down
25 changes: 20 additions & 5 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ services:
depends_on:
- opensearch
environment:
OPENSEARCH_HOSTS: '["https://opensearch:9200"]'
OPENSEARCH_USERNAME: "admin"
OPENSEARCH_HOSTS: '["https://${OPENSEARCH_HOST:-opensearch}:${OPENSEARCH_PORT:-9200}"]'
OPENSEARCH_USERNAME: "${OPENSEARCH_USERNAME:-admin}"
OPENSEARCH_PASSWORD: ${OPENSEARCH_PASSWORD}
ports:
- "5601:5601"
Expand All @@ -52,7 +52,7 @@ services:
depends_on:
- langflow
environment:
- OPENSEARCH_HOST=opensearch
- OPENSEARCH_HOST=${OPENSEARCH_HOST:-opensearch}
- LANGFLOW_URL=http://langflow:7860
- LANGFLOW_PUBLIC_URL=${LANGFLOW_PUBLIC_URL}
- LANGFLOW_AUTO_LOGIN=${LANGFLOW_AUTO_LOGIN}
Expand All @@ -64,8 +64,8 @@ services:
- DISABLE_INGEST_WITH_LANGFLOW=${DISABLE_INGEST_WITH_LANGFLOW:-false}
- INGEST_SAMPLE_DATA=${INGEST_SAMPLE_DATA:-true}
- NUDGES_FLOW_ID=${NUDGES_FLOW_ID}
- OPENSEARCH_PORT=9200
- OPENSEARCH_USERNAME=admin
- OPENSEARCH_PORT=${OPENSEARCH_PORT:-9200}
- OPENSEARCH_USERNAME=${OPENSEARCH_USERNAME:-admin}
- OPENSEARCH_PASSWORD=${OPENSEARCH_PASSWORD}
- OPENAI_API_KEY=${OPENAI_API_KEY}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
Expand All @@ -81,6 +81,21 @@ services:
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
- OPENSEARCH_INDEX_NAME=${OPENSEARCH_INDEX_NAME:-documents}
- LANGFLOW_KEY=${LANGFLOW_KEY}
- LANGFLOW_KEY_RETRIES=${LANGFLOW_KEY_RETRIES}
- LANGFLOW_KEY_RETRY_DELAY=${LANGFLOW_KEY_RETRY_DELAY}
- LANGFLOW_VERSION=${LANGFLOW_VERSION}
- LOG_FORMAT=${LOG_FORMAT}
- SERVICE_NAME=${SERVICE_NAME}
- SESSION_SECRET=${SESSION_SECRET}
- LOG_LEVEL=${LOG_LEVEL:-INFO}
- NO_COLOR=${NO_COLOR:-}
- ACCESS_LOG=${ACCESS_LOG:-true}
- LANGFLOW_TIMEOUT=${LANGFLOW_TIMEOUT:-2400}
- LANGFLOW_CONNECT_TIMEOUT=${LANGFLOW_CONNECT_TIMEOUT:-30}
- INGESTION_TIMEOUT=${INGESTION_TIMEOUT:-3600}
- UPLOAD_BATCH_SIZE=${UPLOAD_BATCH_SIZE:-25}
- MAX_WORKERS=${MAX_WORKERS:-4}
volumes:
- ${OPENRAG_DOCUMENTS_PATH:-./openrag-documents}:/app/openrag-documents:Z
- ${OPENRAG_KEYS_PATH:-./keys}:/app/keys:U,z
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
* Install [uv](https://docs.astral.sh/uv/getting-started/installation/).

* Install [Podman](https://podman.io/docs/installation) or [Docker](https://docs.docker.com/get-docker/).

The OpenRAG team recommends, at minimum, 8 GB of RAM for container VMs.
Expand Down
3 changes: 3 additions & 0 deletions docs/docs/_partial-prereq-gpu.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
* Optional: Install GPU support with an NVIDIA GPU, [CUDA](https://docs.nvidia.com/cuda/) support, and compatible NVIDIA drivers on the OpenRAG host machine.
If you don't have GPU capabilities, OpenRAG provides an alternate CPU-only deployment that is suitable for most use cases.
The default CPU-only deployment doesn't prevent you from using GPU acceleration in external services, such as Ollama servers.
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,4 @@

Language models must support tool calling to be compatible with OpenRAG.

For more information, see [Complete the application onboarding process](#application-onboarding).

* Optional: Install GPU support with an NVIDIA GPU, [CUDA](https://docs.nvidia.com/cuda/) support, and compatible NVIDIA drivers on the OpenRAG host machine.
If you don't have GPU capabilities, OpenRAG provides an alternate CPU-only deployment that is suitable for most use cases.
The default CPU-only deployment doesn't prevent you from using GPU acceleration in external services, such as Ollama servers.
For more information, see [Complete the application onboarding process](#application-onboarding).
2 changes: 1 addition & 1 deletion docs/docs/_partial-prereq-python.mdx
Original file line number Diff line number Diff line change
@@ -1 +1 @@
* Install [Python](https://www.python.org/downloads/release/python-3100/) version 3.13 or later.
* Install [Python](https://www.python.org/downloads/release/python-3100/) version 3.12 or later.
1 change: 1 addition & 0 deletions docs/docs/_partial-prereq-uv.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* Install [uv](https://docs.astral.sh/uv/getting-started/installation/).
2 changes: 1 addition & 1 deletion docs/docs/core-components/knowledge-browse.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ slug: /knowledge-browse
import Icon from "@site/src/components/icon/icon";
import PartialAnonymousUserOwner from '@site/docs/_partial-anonymous-user-owner.mdx';

The **Knowledge** page lists the documents that have been [ingested](/ingestion) into your [OpenSearch knowledge base](/knowledge), specifically in an [OpenSearch index](/knowledge#index) named `documents`.
The **Knowledge** page lists the documents that have been [ingested](/ingestion) into your [OpenSearch knowledge base](/knowledge), specifically in an [OpenSearch index](/knowledge#index).

To explore the contents of your knowledge base, click <Icon name="Library" aria-hidden="true"/> **Knowledge** to get a list of all ingested documents.

Expand Down
9 changes: 9 additions & 0 deletions docs/docs/core-components/knowledge-connectors.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,15 @@ You can do this during [initial set up](/docker#setup), or you can add the crede
</TabItem>
</Tabs>

## Ingest documents with cloud connectors

See [Ingest files from cloud storage](/ingestion#oauth-ingestion).

## Disconnect and reconnect cloud storage connectors

In OpenRAG, click <Icon name="Settings2" aria-hidden="true"/> **Settings** to manage cloud storage connections.
You can connect, disconnect, reconnect, and trigger ingestion for each configured connector.

## See also

* [About knowledge](/knowledge)
Expand Down
8 changes: 1 addition & 7 deletions docs/docs/core-components/knowledge.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,7 @@ An [OpenSearch index](https://docs.opensearch.org/latest/getting-started/intro/#

By default, all documents you upload to your OpenRAG knowledge base are stored in an index named `documents`.

<!-- TBD - better way to rename -->

It is possible to change the index name by [editing the ingestion flow](/agents#inspect-and-modify-flows).
However, this can impact dependent processes, such as the [filters](/knowledge-filters) and [**Chat**](/chat), that reference the `documents` index by default.
Make sure you edit other flows as needed to ensure all processes use the same index name.

If you encounter errors or unexpected behavior after changing the index name, you can [revert the flows to their original configuration](/agents#revert-a-built-in-flow-to-its-original-configuration), or [delete knowledge](/knowledge-browse#delete-knowledge) to clear the existing documents from your knowledge base.
To change the OpenRAG index name, edit the `OPENSEARCH_INDEX_NAME` [environment variable](/reference/configuration#opensearch-settings).

## OpenSearch service port

Expand Down
14 changes: 10 additions & 4 deletions docs/docs/get-started/docker.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@ slug: /docker
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import PartialOnboarding from '@site/docs/_partial-onboarding.mdx';
import PartialPrereqCommon from '@site/docs/_partial-prereq-common.mdx';
import PartialPrereqNoScript from '@site/docs/_partial-prereq-no-script.mdx';
import PartialPrereqModels from '@site/docs/_partial-prereq-models.mdx';
import PartialPrereqUv from '@site/docs/_partial-prereq-uv.mdx';
import PartialPrereqGpu from '@site/docs/_partial-prereq-gpu.mdx';
import PartialPrereqDocker from '@site/docs/_partial-prereq-docker.mdx';
import PartialPrereqWindows from '@site/docs/_partial-prereq-windows.mdx';
import PartialPrereqPython from '@site/docs/_partial-prereq-python.mdx';
import PartialInstallNextSteps from '@site/docs/_partial-install-next-steps.mdx';
Expand All @@ -26,9 +28,13 @@ Use this installation method if you don't want to [use the Terminal User Interfa

<PartialPrereqPython />

<PartialPrereqNoScript />
<PartialPrereqUv />

<PartialPrereqCommon />
<PartialPrereqDocker />

<PartialPrereqModels />

<PartialPrereqGpu />

## Prepare your deployment {#setup}

Expand Down
3 changes: 1 addition & 2 deletions docs/docs/get-started/install-options.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,8 @@ Select the installation method that best fits your needs:

* **Use the [Terminal User Interface (TUI)](/tui) to manage services**: For guided configuration and simplified service management, install OpenRAG with TUI-managed services. Use one of the following options:

* [**Automatic installer script**](/install): Run one script to install the required dependencies and OpenRAG.
* [**`uv`**](/install-uv): Install OpenRAG as a dependency of a new or existing Python project.
* [**`uvx`**](/install-uvx): Install OpenRAG without creating a project or modifying your project's dependencies.
* [**`uvx`**](/install-uvx): Install OpenRAG without creating a project or modifying your project's dependencies. This option also automatically installs Docker or Podman if neither is present in your environment.

* [**Install OpenRAG on Microsoft Windows**](/install-windows): On Windows machines, you must install OpenRAG within the Windows Subsystem for Linux (WSL).

Expand Down
18 changes: 12 additions & 6 deletions docs/docs/get-started/install-uv.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,10 @@ import TabItem from '@theme/TabItem';
import PartialOnboarding from '@site/docs/_partial-onboarding.mdx';
import PartialSetup from '@site/docs/_partial-setup.mdx';
import PartialOAuthCredentials from '@site/docs/_partial-oauth-credentials.mdx';
import PartialPrereqCommon from '@site/docs/_partial-prereq-common.mdx';
import PartialPrereqNoScript from '@site/docs/_partial-prereq-no-script.mdx';
import PartialPrereqModels from '@site/docs/_partial-prereq-models.mdx';
import PartialPrereqUv from '@site/docs/_partial-prereq-uv.mdx';
import PartialPrereqGpu from '@site/docs/_partial-prereq-gpu.mdx';
import PartialPrereqDocker from '@site/docs/_partial-prereq-docker.mdx';
import PartialPrereqWindows from '@site/docs/_partial-prereq-windows.mdx';
import PartialPrereqPython from '@site/docs/_partial-prereq-python.mdx';
import PartialInstallNextSteps from '@site/docs/_partial-install-next-steps.mdx';
Expand All @@ -28,9 +30,13 @@ For other installation methods, see [Select an installation method](/install-opt

<PartialPrereqPython />

<PartialPrereqNoScript />
<PartialPrereqUv />

<PartialPrereqCommon />
<PartialPrereqDocker />

<PartialPrereqModels />

<PartialPrereqGpu />

## Install and start OpenRAG with uv

Expand All @@ -48,12 +54,12 @@ If you encounter errors during installation, see [Troubleshoot OpenRAG](/support
1. Create a new `uv`-managed Python project:

```bash
uv init PROJECT_NAME --python 3.13
uv init PROJECT_NAME --python 3.12
```

The `--python` flag ensures that your project uses the minimum required Python version for OpenRAG.
You can use a later Python version, if you prefer.
Or, you can omit this flag if your system's default Python version is 3.13 or later.
Or, you can omit this flag if your system's default Python version is 3.12 or later.

2. Change into your new project directory:

Expand Down
42 changes: 23 additions & 19 deletions docs/docs/get-started/install-uvx.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@ import TabItem from '@theme/TabItem';
import PartialOnboarding from '@site/docs/_partial-onboarding.mdx';
import PartialSetup from '@site/docs/_partial-setup.mdx';
import PartialOAuthCredentials from '@site/docs/_partial-oauth-credentials.mdx';
import PartialPrereqCommon from '@site/docs/_partial-prereq-common.mdx';
import PartialPrereqNoScript from '@site/docs/_partial-prereq-no-script.mdx';
import PartialPrereqModels from '@site/docs/_partial-prereq-models.mdx';
import PartialPrereqUv from '@site/docs/_partial-prereq-uv.mdx';
import PartialPrereqGpu from '@site/docs/_partial-prereq-gpu.mdx';
import PartialPrereqWindows from '@site/docs/_partial-prereq-windows.mdx';
import PartialPrereqPython from '@site/docs/_partial-prereq-python.mdx';
import PartialInstallNextSteps from '@site/docs/_partial-install-next-steps.mdx';
Expand All @@ -18,28 +19,30 @@ import PartialWatsonxModels from '@site/docs/_partial-watsonx-models.mdx';

Use [`uvx`](https://docs.astral.sh/uv/guides/tools/#running-tools) to invoke OpenRAG outside of a Python project or without modifying your project's dependencies.

:::tip
The [automatic installer script](/install) also uses `uvx` to install OpenRAG.
:::
This installation method is best for testing OpenRAG by running it outside of a Python project.
For other installation methods, see [Select an installation method](/install-options).

When you install OpenRAG with `uvx`, you will use the [Terminal User Interface (TUI)](/tui) to configure and manage your OpenRAG deployment.

This installation method is best for testing OpenRAG by running it outside of a Python project.
For other installation methods, see [Select an installation method](/install-options).
:::info
`uvx openrag` installs the latest version of OpenRAG and dependencies, like Docker or Podman, if they aren't already present in your environment.
:::

## Prerequisites

<PartialPrereqWindows />

<PartialPrereqPython />

<PartialPrereqNoScript />
<PartialPrereqUv />

<PartialPrereqModels />

<PartialPrereqCommon />
<PartialPrereqGpu />

## Install and run OpenRAG with uvx

1. Create a directory to store your OpenRAG configuration files and data, and then change to that directory:
1. Create a directory for your OpenRAG configuration files and data, and then change to that directory:

```bash
mkdir openrag-workspace
Expand All @@ -48,22 +51,23 @@ For other installation methods, see [Select an installation method](/install-opt

2. Optional: If you want to use a pre-populated [OpenRAG `.env` file](/reference/configuration), create one at `~/.openrag/tui` before invoking OpenRAG.

3. Invoke OpenRAG:
3. Invoke OpenRAG and install any missing dependencies:

```bash
uvx openrag
```

You can invoke a specific version using any of the [`uvx` version specifiers](https://docs.astral.sh/uv/guides/tools/#requesting-specific-versions), such as `--from`:
You can invoke a specific version using any of the [`uvx` version specifiers](https://docs.astral.sh/uv/guides/tools/#requesting-specific-versions), such as `uvx --from openrag==0.1.30 openrag`.

```bash
uvx --from openrag==0.1.30 openrag
```
4. If needed, respond to any prompts to install and configure dependencies like Docker or Podman.

The entire setup process can take a few minutes.
Once the environment is ready, the OpenRAG [Terminal User Interface (TUI)](/tui) starts.

Invoking OpenRAG with `uvx openrag` creates a cached, ephemeral environment for the TUI in your local `uv` cache.
By invoking OpenRAG in a specific directory, your OpenRAG configuration files and data are stored separately from the `uv` cache.
Clearing the `uv` cache doesn't remove your entire OpenRAG installation.
After clearing the cache, you can re-invoke OpenRAG (`uvx openrag`) to restart the TUI with your preserved configuration and data.
Invoking OpenRAG with `uvx openrag` creates a cached, ephemeral environment for the TUI in your local `uv` cache.
Your OpenRAG configuration files and data are stored in `~/.openrag`, which is separate from the `uv` cache.
Clearing the `uv` cache doesn't remove your entire OpenRAG installation; it only clears `uv` dependencies.
After clearing the cache, you can re-invoke OpenRAG (`uvx openrag`) to restart the TUI with your preserved configuration and data.

If you encounter errors during installation, see [Troubleshoot OpenRAG](/support/troubleshoot).

Expand Down
Loading
Loading