Skip to main content

Install OpenRAG with TUI

Install OpenRAG and then run the OpenRAG Terminal User Interface(TUI) to start your OpenRAG deployment with a guided setup process.

The OpenRAG Terminal User Interface (TUI) allows you to set up, configure, and monitor your OpenRAG deployment directly from the terminal.

OpenRAG TUI Interface

Instead of starting OpenRAG using Docker commands and manually editing values in the .env file, the TUI walks you through the setup. It prompts for variables where required, creates a .env file for you, and then starts OpenRAG.

Once OpenRAG is running, use the TUI to monitor your application, control your containers, and retrieve logs.

If you prefer running Podman or Docker containers and manually editing .env files, see Install OpenRAG Containers.

Prerequisites

  • All OpenRAG installations require Python version 3.13 or later.

  • If you aren't using the automatic installer script, install the following:

  • Microsoft Windows only: To run OpenRAG on Windows, you must use the Windows Subsystem for Linux (WSL).

    Install WSL for OpenRAG
    1. Install WSL with the Ubuntu distribution using WSL 2:

      wsl --install -d Ubuntu

      For new installations, the wsl --install command uses WSL 2 and Ubuntu by default.

      For existing WSL installations, you can change the distribution and check the WSL version.

      Known limitation

      OpenRAG isn't compatible with nested virtualization, which can cause networking issues. Don't install OpenRAG on a WSL distribution that is installed inside a Windows VM. Instead, install OpenRAG on your base OS or a non-nested Linux VM.

    2. Start your WSL Ubuntu distribution if it doesn't start automatically.

    3. Set up a username and password for your WSL distribution.

    4. Install Docker Desktop for Windows with WSL 2. When you reach the Docker Desktop WSL integration settings, make sure your Ubuntu distribution is enabled, and then click Apply & Restart to enable Docker support in WSL.

    5. Install and run OpenRAG from within your WSL Ubuntu distribution.


    If you encounter issues with port forwarding or the Windows Firewall, you might need to adjust the Hyper-V firewall settings to allow communication between your WSL distribution and the Windows host. For more troubleshooting advice for networking issues, see Troubleshooting WSL common issues.

  • Prepare model providers and credentials.

    During application onboarding, you must select language model and embedding model providers. If your chosen provider offers both types, you can use the same provider for both selections. If your provider offers only one type, such as Anthropic, you must select two providers.

    Gather the credentials and connection details for your chosen model providers before starting onboarding:

    • OpenAI: Create an OpenAI API key.
    • Anthropic language models: Create an Anthropic API key.
    • IBM watsonx.ai: Get your watsonx.ai API endpoint, IBM project ID, and IBM API key from your watsonx deployment.
    • Ollama: Use the Ollama documentation to set up your Ollama instance locally, in the cloud, or on a remote server, and then get your Ollama server's base URL.
  • Optional: Install GPU support with an NVIDIA GPU, 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.

Install OpenRAG

Choose an installation method based on your needs:

  • For new users, the automatic installer script detects and installs prerequisites and then runs OpenRAG.
  • For a quick test, use uvx to run OpenRAG without creating a project or modifying files.
  • Use uv add to install OpenRAG as a managed dependency in a new or existing Python project.
  • Use uv pip install to install OpenRAG into an existing virtual environment.

The script detects and installs uv, Docker/Podman, and Docker Compose prerequisites, then runs OpenRAG with uvx.

  1. Create a directory to store the OpenRAG configuration files:

    mkdir openrag-workspace
    cd openrag-workspace
  2. Run the installer:

    curl -fsSL https://docs.openr.ag/files/run_openrag_with_prereqs.sh | bash

The TUI creates a .env file and docker-compose files in the current working directory.

Continue with Set up OpenRAG with the TUI.

If you encounter errors during installation, see Troubleshoot OpenRAG.

Set up OpenRAG with the TUI

The OpenRAG setup process creates a .env file at the root of your OpenRAG directory, and then starts OpenRAG. If it detects a .env file in the OpenRAG root directory, it sources any variables from the .env file.

The TUI offers two setup methods to populate the required values. Basic Setup can generate all minimum required values for OpenRAG. However, Basic Setup doesn't enable OAuth connectors for cloud storage. If you want to use OAuth connectors to upload documents from cloud storage, select Advanced Setup. If OpenRAG detects OAuth credentials, it recommends Advanced Setup.

  1. To install OpenRAG with Basic Setup, click Basic Setup or press 1.

  2. Click Generate Passwords to generate passwords for OpenSearch and Langflow.

    The OpenSearch password is required. The Langflow admin password is optional. If no Langflow admin password is generated, Langflow runs in autologin mode with no password required.

  3. Optional: Paste your OpenAI API key in the OpenAI API key field. You can also provide this during onboarding or choose a different model provider.

  4. Click Save Configuration. Your passwords are saved in the .env file used to start OpenRAG.

  5. To start OpenRAG, click Start All Services. Startup pulls container images and runs them, so it can take some time. When startup is complete, the TUI displays the following:

    Services started successfully
    Command completed successfully
  6. To start the Docling service, under Native Services, click Start.

  7. To open the OpenRAG application, navigate to the TUI main menu, and then click Open App. Alternatively, in your browser, navigate to localhost:3000.

  8. Continue with application onboarding.

Application onboarding

The first time you start OpenRAG, regardless of how you installed it, you must complete application onboarding.

Some of these variables, such as the embedding models, can be changed seamlessly after onboarding. Others are immutable and require you to destroy and recreate the OpenRAG containers. For more information, see Environment variables.

You can use different providers for your language model and embedding model, such as Anthropic for the language model and OpenAI for the embeddings model. Additionally, you can set multiple embedding models.

You only need to complete onboarding for your preferred providers.

info

Anthropic doesn't provide embedding models. If you select Anthropic for your language model, you must select a different provider for embeddings.

  1. Enable Use environment Anthropic API key to automatically use your key from the .env file. Alternatively, paste an Anthropic API key into the field.
  2. Under Advanced settings, select your Language Model.
  3. Click Complete.
  4. In the second onboarding panel, select a provider for embeddings and select your Embedding Model.
  5. To complete the onboarding tasks, click What is OpenRAG, and then click Add a Document. Alternatively, click Skip overview.
  6. Continue with the Quickstart.

Exit the OpenRAG TUI

To exit the OpenRAG TUI, navigate to the main menu, and then press q. The OpenRAG containers continue to run until they are stopped. For more information, see Manage OpenRAG containers with the TUI .

To relaunch the TUI, run uv run openrag. If you installed OpenRAG with uvx, run uvx openrag.

Manage OpenRAG containers with the TUI

After installation, the TUI can deploy, manage, and upgrade your OpenRAG containers.

Diagnostics

The Diagnostics menu provides health monitoring for your container runtimes and monitoring of your OpenSearch security.

Status

The Status menu displays information on your container deployment. Here you can check container health, find your service ports, view logs, and upgrade your containers.

  • Logs: To view streaming logs, select the container you want to view, and press l. To copy the logs, click Copy to Clipboard.

  • Upgrade: Check for updates. For more information, see upgrade OpenRAG.

  • Factory Reset: This is a destructive action that resets your containers.

  • Native services: View and manage OpenRAG services that run directly on your local machine instead of a container.

Reset containers

Reset your OpenRAG deployment by recreating the containers and removing some related data.

warning

This is a destructive action that destroys the following:

  • All OpenRAG containers, volumes, and local images
  • Any additional Docker objects
  • The contents of OpenRAG's config and ./opensearch-data directories
  • The conversations.json file

This operation doesn't remove the .env file or the contents of the ./openrag-documents directory.

  1. To destroy and recreate your OpenRAG containers, go to the TUI Status menu, and then click Factory Reset.

    This function runs the following commands and deletes the contents of OpenRAG's config and ./opensearch-data directories.

    docker compose down --volumes --remove-orphans --rmi local
    docker system prune -f
  2. If you reset your containers as part of reinstalling OpenRAG, continue the reinstallation process after resetting the containers. Otherwise, in the TUI Setup menu, repeat the setup process to start the services and launch the OpenRAG app. Your OpenRAG passwords, OAuth credentials (if previously set), and onboarding configuration are restored from the .env file.

Start all services

Through the TUI, you can view and manage OpenRAG services that run in containers and directly on your local machine.

Start containers

On the TUI main page or the Setup menu, click Start All Services to start the OpenRAG containers and launch OpenRAG itself.

When you start all services, the following processes happen:

  1. OpenRAG automatically detects your container runtime, and then checks if your machine has compatible GPU support by checking for CUDA, NVIDIA_SMI, and Docker/Podman runtime support. This check determines which Docker Compose file OpenRAG uses.

  2. OpenRAG pulls the OpenRAG container images with docker compose pull if any images are missing.

  3. OpenRAG deploys the containers with docker compose up -d.

Start native services (Docling)

A native service in OpenRAG is a service that runs locally on your machine, not within a container. For example, the docling serve process is an OpenRAG native service because this document processing service runs on your local machine, separate from the OpenRAG containers.

From the Status menu, you can view the status, port, and process ID (PID) of the OpenRAG native services. You can also click Stop or Restart to stop and start OpenRAG native services.

Upgrade OpenRAG

To upgrade OpenRAG, upgrade the OpenRAG Python package, and then upgrade the OpenRAG containers.

This is a two part process because upgrading the OpenRAG Python package updates the TUI and Python code, but the container versions are controlled by environment variables in your .env file.

  1. Stop your OpenRAG containers: In the OpenRAG TUI, go to the Status menu, and then click Stop Services.

  2. Upgrade the OpenRAG Python package to the latest version from PyPI.

    Use these steps to upgrade the Python package if you installed OpenRAG using the automatic installer or uvx:

    1. Navigate to your OpenRAG workspace directory:

      cd openrag-workspace
    2. Upgrade the OpenRAG package:

      uvx --from openrag openrag

      To upgrade to a specific version:

      uvx --from openrag==0.1.33 openrag
  3. Start the upgraded OpenRAG containers: In the OpenRAG TUI, click Start All Services, and then wait while the containers start.

    After upgrading the Python package, OpenRAG runs docker compose pull to get the appropriate container images matching the version specified in your OpenRAG .env file. Then, it recreates the containers with the new images using docker compose up -d --force-recreate.

    In the .env file, the OPENRAG_VERSION environment variable is set to latest by default, which it pulls the latest available container images. To pin a specific container image version, you can set OPENRAG_VERSION to the desired container image version, such as OPENRAG_VERSION=0.1.33.

    However, when you upgrade the Python package, OpenRAG automatically attempts to keep the OPENRAG_VERSION synchronized with the Python package version. You might need to edit the .env file after upgrading the Python package to enforce a different container version. The TUI warns you if it detects a version mismatch.

    If you get an error that langflow container already exists error during upgrade, see Langflow container already exists during upgrade.

  4. When the upgrade process is complete, you can close the Status window and continue using OpenRAG.

Reinstall OpenRAG

Reset your OpenRAG deployment by recreating the containers and, optionally, removing related data:

  1. In the TUI, reset your containers to destroy the following:

    • All existing OpenRAG containers, volumes, and local images
    • Any additional Docker objects
    • The contents of OpenRAG's config and ./opensearch-data directories
    • The conversations.json file
  2. Optional: Remove data that wasn't deleted by the Factory Reset operation. For a completely fresh installation, delete all of this data.

    • OpenRAG's .env file: Contains your OpenRAG configuration, including OpenRAG passwords, API keys, OAuth settings, and other environment variables. If you delete this file, you must either repeat the setup process to create a new .env file, or add a populated .env file to your OpenRAG installation directory before restarting OpenRAG.
    • The contents of the ./openrag-documents directory: Contains documents that you uploaded to OpenRAG. Delete these files to prevent documents from being reingested to your knowledge base after restarting OpenRAG. However, you might want to preserve OpenRAG's default documents.
  3. In the TUI Setup menu, repeat the setup process to configure OpenRAG, restart the services, and launch the OpenRAG app, and repeat application onboarding. If OpenRAG detects a .env file, it automatically populates any OpenRAG passwords, OAuth credentials, and onboarding configuration set in that file.