diff --git a/docs/docs/_partial-docker-remove-and-cleanup-steps.mdx b/docs/docs/_partial-docker-remove-and-cleanup-steps.mdx
index ccc91713..0114ea46 100644
--- a/docs/docs/_partial-docker-remove-and-cleanup-steps.mdx
+++ b/docs/docs/_partial-docker-remove-and-cleanup-steps.mdx
@@ -1,4 +1,4 @@
-2. Remove all containers, including stopped containers:
+1. Remove all containers, including stopped containers:
```bash title="Docker"
docker rm --force $(docker ps -aq)
@@ -8,7 +8,7 @@
podman rm --all --force
```
-3. Remove all images:
+2. Remove all images:
```bash title="Docker"
docker rmi --force $(docker images -q)
@@ -18,7 +18,7 @@
podman rmi --all --force
```
-4. Remove all volumes:
+3. Remove all volumes:
```bash title="Docker"
docker volume prune --force
@@ -28,7 +28,7 @@
podman volume prune --force
```
-5. Remove all networks except the default network:
+4. Remove all networks except the default network:
```bash title="Docker"
docker network prune --force
@@ -38,7 +38,7 @@
podman network prune --force
```
-6. Clean up any leftover data:
+5. Clean up any leftover data:
```bash title="Docker"
docker system prune --all --force --volumes
diff --git a/docs/docs/_partial-onboarding.mdx b/docs/docs/_partial-onboarding.mdx
index c4eee73e..6ffa32c2 100644
--- a/docs/docs/_partial-onboarding.mdx
+++ b/docs/docs/_partial-onboarding.mdx
@@ -23,9 +23,7 @@ You only need to complete onboarding for your preferred providers.
Anthropic doesn't provide embedding models. If you select Anthropic for your language model, you must select a different provider for the embedding model.
:::
-1. Enter your Anthropic API key, or enable **Get API key from environment variable** to pull the key from your [OpenRAG `.env` file](/reference/configuration).
-
- If you set `ANTHROPIC_API_KEY` in your OpenRAG `.env` file, this value can be populated automatically.
+1. Enter your Anthropic API key, or enable **Use environment API key** to pull the key from your [OpenRAG `.env` file](/reference/configuration).
2. Under **Advanced settings**, select the language model that you want to use.
@@ -46,24 +44,26 @@ The overview demonstrates some basic functionality that is covered in the [quick
-1. Use the values from your IBM watsonx deployment for the **watsonx.ai API Endpoint**, **IBM Project ID**, and **IBM API key** fields.
+1. For **watsonx.ai API Endpoint**, select the base URL for your watsonx.ai model deployment.
- If you set `WATSONX_API_KEY`, `WATSONX_API_URL`, or `WATSONX_PROJECT_ID` in your [OpenRAG `.env` file](/reference/configuration), these values can be populated automatically.
+2. Enter your watsonx.ai deployment's project ID and API key.
-2. Under **Advanced settings**, select the language model that you want to use.
+ You can enable **Use environment API key** to pull the key from your [OpenRAG `.env` file](/reference/configuration).
-3. Click **Complete**.
+3. Under **Advanced settings**, select the language model that you want to use.
-4. Select a provider for embeddings, provide the required information, and then select the embedding model you want to use.
+4. Click **Complete**.
+
+5. Select a provider for embeddings, provide the required information, and then select the embedding model you want to use.
For information about another provider's credentials and settings, see the instructions for that provider.
-5. Click **Complete**.
+6. Click **Complete**.
After you configure the embedding model, OpenRAG uses your credentials and models to ingest some [initial documents](/knowledge#default-documents). This tests the connection, and it allows you to ask OpenRAG about itself in the [**Chat**](/chat).
If there is a problem with the model configuration, an error occurs and you are redirected back to the application onboarding screen.
Verify that the credentials are valid and have access to the selected model, and then click **Complete** to retry ingestion.
-6. Continue through the overview slides for a brief introduction to OpenRAG, or click **Skip overview**.
+7. Continue through the overview slides for a brief introduction to OpenRAG, or click **Skip overview**.
The overview demonstrates some basic functionality that is covered in the [quickstart](/quickstart#chat-with-documents) and in other parts of the OpenRAG documentation.
@@ -81,15 +81,15 @@ You must deploy Ollama separately if you want to use Ollama as a model provider.
If you are running a remote server, it must be accessible from your OpenRAG deployment.
-2. In OpenRAG onboarding, connect to your Ollama server:
+2. In the OpenRAG onboarding dialog, enter your Ollama server's base URL:
* **Local Ollama server**: Enter your Ollama server's base URL and port. The default Ollama server address is `http://localhost:11434`.
* **Ollama Cloud**: Because Ollama Cloud models run at the same address as a local Ollama server and automatically offload to Ollama's cloud service, you can use the same base URL and port as you would for a local Ollama server. The default address is `http://localhost:11434`.
* **Remote server**: Enter your remote Ollama server's base URL and port, such as `http://your-remote-server:11434`.
- If the connection succeeds, OpenRAG populates the model lists with the server's available models.
+3. Select the language model that your Ollama server is running.
-3. Select the model that your Ollama server is running.
+ If your server isn't running any language models, you must either deploy a language model on your Ollama server, or use another provider for the language model.
Language model and embedding model selections are independent.
You can use the same or different servers for each model.
@@ -98,20 +98,23 @@ You must deploy Ollama separately if you want to use Ollama as a model provider.
4. Click **Complete**.
- After you configure the embedding model, OpenRAG uses the address and models to ingest some [initial documents](/knowledge#default-documents). This tests the connection, and it allows you to ask OpenRAG about itself in the [**Chat**](/chat).
+5. Select a provider for embeddings, provide the required information, and then select the embedding model you want to use.
+For information about another provider's credentials and settings, see the instructions for that provider.
+
+6. Click **Complete**.
+
+ After you configure the embedding model, OpenRAG uses your credentials and models to ingest some [initial documents](/knowledge#default-documents). This tests the connection, and it allows you to ask OpenRAG about itself in the [**Chat**](/chat).
If there is a problem with the model configuration, an error occurs and you are redirected back to the application onboarding screen.
Verify that the server address is valid, and that the selected model is running on the server.
Then, click **Complete** to retry ingestion.
-5. Continue through the overview slides for a brief introduction to OpenRAG, or click **Skip overview**.
+7. Continue through the overview slides for a brief introduction to OpenRAG, or click **Skip overview**.
The overview demonstrates some basic functionality that is covered in the [quickstart](/quickstart#chat-with-documents) and in other parts of the OpenRAG documentation.
-1. Enter your OpenAI API key, or enable **Get API key from environment variable** to pull the key from your [OpenRAG `.env` file](/reference/configuration).
-
- If you set `OPENAI_API_KEY` in your OpenRAG `.env` file, this value can be populated automatically.
+1. Enter your OpenAI API key, or enable **Use environment API key** to pull the key from your [OpenRAG `.env` file](/reference/configuration).
2. Under **Advanced settings**, select the language model that you want to use.
diff --git a/docs/docs/_partial-setup.mdx b/docs/docs/_partial-setup.mdx
index 8142844d..493075cf 100644
--- a/docs/docs/_partial-setup.mdx
+++ b/docs/docs/_partial-setup.mdx
@@ -16,31 +16,37 @@ If OpenRAG detects OAuth credentials during setup, it recommends **Advanced Setu
-1. In the TUI, click **Basic Setup** or press 1.
+1. In the TUI, select **Basic Setup**.
-2. Enter administrator passwords for the OpenRAG OpenSearch and Langflow services, or click **Generate Passwords** to generate passwords automatically.
+2. Enter administrator passwords for the OpenRAG OpenSearch and Langflow services.
- The OpenSearch password is required.
+ The OpenSearch password is required, and a secure password is automatically generated if you don't provide one manually.
The Langflow password is recommended but optional.
If the Langflow password is empty, the Langflow server starts without authentication enabled. For more information, see [Langflow settings](/reference/configuration#langflow-settings).
-3. Optional: Enter your OpenAI API key, or leave this field empty to provide model provider credentials during the application onboarding process.
+ You can click **Generate Password** to create a Langflow password and username automatically.
- There is no material difference between providing the key now or during the [application onboarding process](#application-onboarding).
- If you provide a key now, it can be populated automatically during the application onboarding process if you select the OpenAI model provider, and then enable **Get API key from environment variable**.
+3. Optional: Under **API Keys**, enter your model provider credentials, or leave these fields empty if you want to configure model provider credentials during the application onboarding process.
+
+ There is no material difference between providing these values now or during the [application onboarding process](#application-onboarding).
+ If you provide a credential now, it can be populated automatically during the application onboarding process if you enable the **Use environment API key** option.
OpenRAG's core functionality requires access to language and embedding models.
By default, OpenRAG uses OpenAI models.
If you aren't sure which models or providers to use, you must provide an OpenAI API key to use OpenRAG's default model configuration.
- If you want to use a different model provider, you can leave this field empty.
-4. Click **Save Configuration**.
+4. Optional: Under **Others**, edit the [knowledge base](/knowledge) paths if you don't want to use the default paths:
- Your passwords and API key, if provided, are stored in the [OpenRAG `.env` file](/reference/configuration) at `~/.openrag/tui`.
+ * **Documents Paths**: One or more paths to directories are where OpenRAG looks for documents to ingest.
+ * **OpenSearch Data PAth**: Specify the path where you want OpenRAG to create your OpenSearch index.
+
+5. Click **Save Configuration**.
+
+ Your passwords and API keys, if provided, are stored in the [OpenRAG `.env` file](/reference/configuration) at `~/.openrag/tui`.
If you modified any credentials that were pulled from an existing `.env` file, those values are updated in the `.env` file.
-5. Click **Start All Services** to start the OpenRAG services that run in containers.
+6. Click **Start OpenRAG** to start the OpenRAG services.
This process can take some time while OpenRAG pulls and runs the container images.
If all services start successfully, the TUI prints a confirmation message:
@@ -50,55 +56,57 @@ If OpenRAG detects OAuth credentials during setup, it recommends **Advanced Setu
Command completed successfully
```
-6. Under [**Native Services**](/manage-services), click **Start** to start the Docling service.
-
-7. Launch the OpenRAG application:
-
- * From the TUI main menu, click **Open App**.
- * In your browser, navigate to `localhost:3000`.
+7. Click **Close**, and then click **Launch OpenRAG** or navigate to `localhost:3000` in your browser.
8. Continue with the [application onboarding process](#application-onboarding).
-1. In the TUI, click **Advanced Setup** or press 2.
+1. In the TUI, select **Advanced Setup**.
-2. Enter administrator passwords for the OpenRAG OpenSearch and Langflow services, or click **Generate Passwords** to generate passwords automatically.
+2. Enter administrator passwords for the OpenRAG OpenSearch and Langflow services.
- The OpenSearch password is required.
+ The OpenSearch password is required, and a secure password is automatically generated if you don't provide one manually.
The Langflow password is recommended but optional.
If the Langflow password is empty, the Langflow server starts without authentication enabled. For more information, see [Langflow settings](/reference/configuration#langflow-settings).
-3. Optional: Enter your OpenAI API key, or leave this field empty to provide model provider credentials during the application onboarding process.
+ You can click **Generate Password** to create a Langflow password and username automatically.
- There is no material difference between providing the key now or during the [application onboarding process](#application-onboarding).
- If you provide a key now, it can be populated automatically during the application onboarding process if you select the OpenAI model provider, and then enable **Get API key from environment variable**.
+3. Optional: Under **API Keys**, enter your model provider credentials, or leave the **OpenAI**, **Anthropic**, **Ollama**, and **IBM watsonx.ai** fields empty if you want to configure model provider credentials during the application onboarding process.
+
+ There is no material difference between providing these values now or during the [application onboarding process](#application-onboarding).
+ If you provide a credential now, it can be populated automatically during the application onboarding process if you enable the **Use environment API key** option.
OpenRAG's core functionality requires access to language and embedding models.
By default, OpenRAG uses OpenAI models.
If you aren't sure which models or providers to use, you must provide an OpenAI API key to use OpenRAG's default model configuration.
- If you want to use a different model provider, you can leave this field empty.
-4. To upload documents from external storage, such as Google Drive, add the required OAuth credentials for the connectors that you want to use. These settings can be populated automatically if OpenRAG detects these credentials in an [OpenRAG `.env` file](/reference/configuration) at `~/.openrag/tui`.
+4. Recommended: To upload documents from external storage, such as Google Drive, add the required OAuth credentials for the connectors that you want to use under **API Keys**. These settings can be populated automatically if OpenRAG detects these credentials in an [OpenRAG `.env` file](/reference/configuration) at `~/.openrag/tui`.
- * **Amazon**: Provide your AWS Access Key ID and AWS Secret Access Key with access to your S3 instance. For more information, see the AWS documentation on [Configuring access to AWS applications](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-applications.html).
* **Google**: Provide your Google OAuth Client ID and Google OAuth Client Secret. You can generate these in the [Google Cloud Console](https://console.cloud.google.com/apis/credentials). For more information, see the [Google OAuth client documentation](https://developers.google.com/identity/protocols/oauth2).
* **Microsoft**: For the Microsoft OAuth Client ID and Microsoft OAuth Client Secret, provide [Azure application registration credentials for SharePoint and OneDrive](https://learn.microsoft.com/en-us/onedrive/developer/rest-api/getting-started/app-registration?view=odsp-graph-online). For more information, see the [Microsoft Graph OAuth client documentation](https://learn.microsoft.com/en-us/onedrive/developer/rest-api/getting-started/graph-oauth).
+ * **Amazon**: Provide your AWS Access Key ID and AWS Secret Access Key with access to your S3 instance. For more information, see the AWS documentation on [Configuring access to AWS applications](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-applications.html).
You can [manage OAuth credentials](/ingestion#oauth-ingestion) later, but it is recommended to configure them during initial set up.
-5. The OpenRAG TUI presents redirect URIs for your OAuth app.
-These are the URLs your OAuth provider will redirect back to after user sign-in.
-Register these redirect values with your OAuth provider as they are presented in the TUI.
+5. Register the redirect URIs shown in the TUI in your OAuth provider.
+These are the URLs your OAuth provider will use to redirect users back to OpenRAG after they sign in.
-6. Click **Save Configuration**.
+6. Optional: Under **Others**, you can edit the following settings if needed:
+
+ * **Documents Paths**: Use the default path or provide one or more paths to directories are where OpenRAG looks for documents to ingest in to your [knowledge base](/knowledge).
+ * **OpenSearch Data Path**: Specify the path where you want OpenRAG to create your OpenSearch index.
+ * **Langflow Public URL (`LANGFLOW_PUBLIC_URL`)** : Sets the base address to access the Langflow web interface. This is where users interact with flows in a browser.
+ * **Webhook Base URL (`WEBHOOK_BASE_URL`)**: If applicable, set the base address for your OAuth connector endpoints. If set, the OAuth connector webhook URLs are constructed as `WEBHOOK_BASE_URL/connectors/${provider}/webhook`.
+
+7. Click **Save Configuration**.
Your passwords, API key, and OAuth credentials, if provided, are stored in the [OpenRAG `.env` file](/reference/configuration) at `~/.openrag/tui`.
If you modified any credentials that were pulled from an existing `.env` file, those values are updated in the `.env` file.
-7. Click **Start All Services** to start the OpenRAG services that run in containers.
+8. Click **Start OpenRAG** to start the OpenRAG services.
This process can take some time while OpenRAG pulls and runs the container images.
If all services start successfully, the TUI prints a confirmation message:
@@ -108,28 +116,11 @@ Register these redirect values with your OAuth provider as they are presented in
Command completed successfully
```
-8. Under [**Native Services**](/manage-services), click **Start** to start the Docling service.
-
-9. Launch the OpenRAG application:
-
- * From the TUI main menu, click **Open App**.
- * In your browser, navigate to `localhost:3000`.
+9. Click **Close**, and then click **Launch OpenRAG** or navigate to `localhost:3000` in your browser.
10. If you enabled OAuth connectors, you must sign in to your OAuth provider before being redirected to your OpenRAG instance.
-11. If required, you can edit the following additional environment variables.
-Only change these variables if your OpenRAG deployment has a non-default network configuration, such as a reverse proxy or custom domain.
-
- * `LANGFLOW_PUBLIC_URL`: Sets the base address to access the Langflow web interface. This is where users interact with flows in a browser.
- * `WEBHOOK_BASE_URL`: Sets the base address for the following OpenRAG OAuth connector endpoints:
- * Amazon S3: Not applicable.
- * Google Drive: `WEBHOOK_BASE_URL/connectors/google_drive/webhook`
- * OneDrive: `WEBHOOK_BASE_URL/connectors/onedrive/webhook`
- * SharePoint: `WEBHOOK_BASE_URL/connectors/sharepoint/webhook`
-
-12. Continue with the [application onboarding process](#application-onboarding).
+11. Continue with the [application onboarding process](#application-onboarding).
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/docs/core-components/ingestion.mdx b/docs/docs/core-components/ingestion.mdx
index f584405e..119a4b80 100644
--- a/docs/docs/core-components/ingestion.mdx
+++ b/docs/docs/core-components/ingestion.mdx
@@ -66,23 +66,23 @@ To enable multiple connectors, you must register an app and generate credentials
-If you use the [Terminal User Interface (TUI)](/tui) to manage your OpenRAG services, enter OAuth credentials in the **Advanced Setup** menu.
+If you use the [Terminal User Interface (TUI)](/tui) to manage your OpenRAG services, enter OAuth credentials on the **Advanced Setup** page.
You can do this during [installation](/install#setup), or you can add the credentials afterwards:
-1. If OpenRAG is running, open the TUI's **Status** menu (3), and then click **Stop Services**.
+1. If OpenRAG is running, click **Stop All Services** in the TUI.
-2. Open the **Advanced Setup** menu (2), and then add the OAuth credentials for the cloud storage providers that you want to use:
+2. Open the **Advanced Setup** page, and then add the OAuth credentials for the cloud storage providers that you want to use under **API Keys**:
- * **Amazon**: Provide your AWS Access Key ID and AWS Secret Access Key with access to your S3 instance. For more information, see the AWS documentation on [Configuring access to AWS applications](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-applications.html).
* **Google**: Provide your Google OAuth Client ID and Google OAuth Client Secret. You can generate these in the [Google Cloud Console](https://console.cloud.google.com/apis/credentials). For more information, see the [Google OAuth client documentation](https://developers.google.com/identity/protocols/oauth2).
* **Microsoft**: For the Microsoft OAuth Client ID and Microsoft OAuth Client Secret, provide [Azure application registration credentials for SharePoint and OneDrive](https://learn.microsoft.com/en-us/onedrive/developer/rest-api/getting-started/app-registration?view=odsp-graph-online). For more information, see the [Microsoft Graph OAuth client documentation](https://learn.microsoft.com/en-us/onedrive/developer/rest-api/getting-started/graph-oauth).
+ * **Amazon**: Provide your AWS Access Key ID and AWS Secret Access Key with access to your S3 instance. For more information, see the AWS documentation on [Configuring access to AWS applications](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-applications.html).
-3. The TUI presents redirect URIs for your OAuth app that you must register with your OAuth provider.
-These are the URLs your OAuth provider will redirect back to after users authenticate and grant access to their cloud storage.
+3. Register the redirect URIs shown in the TUI in your OAuth provider.
+These are the URLs your OAuth provider will use to redirect users back to OpenRAG after they sign in.
4. Click **Save Configuration** to add the OAuth credentials to your [OpenRAG `.env` file](/reference/configuration).
-5. Click **Start All Services** to restart the OpenRAG containers with OAuth enabled.
+5. Click **Start Services** to restart the OpenRAG containers with OAuth enabled.
6. Launch the OpenRAG app.
You should be prompted to sign in to your OAuth provider before being redirected to your OpenRAG instance.
@@ -100,13 +100,6 @@ You can do this during [initial set up](/docker#setup), or you can add the crede
2. Edit your OpenRAG `.env` file to add the OAuth credentials for the cloud storage providers that you want to use:
- * **Amazon**: Provide your AWS Access Key ID and AWS Secret Access Key with access to your S3 instance. For more information, see the AWS documentation on [Configuring access to AWS applications](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-applications.html).
-
- ```env
- AWS_ACCESS_KEY_ID=
- AWS_SECRET_ACCESS_KEY=
- ```
-
* **Google**: Provide your Google OAuth Client ID and Google OAuth Client Secret. You can generate these in the [Google Cloud Console](https://console.cloud.google.com/apis/credentials). For more information, see the [Google OAuth client documentation](https://developers.google.com/identity/protocols/oauth2).
```env
@@ -120,6 +113,12 @@ You can do this during [initial set up](/docker#setup), or you can add the crede
MICROSOFT_GRAPH_OAUTH_CLIENT_ID=
MICROSOFT_GRAPH_OAUTH_CLIENT_SECRET=
```
+ * **Amazon**: Provide your AWS Access Key ID and AWS Secret Access Key with access to your S3 instance. For more information, see the AWS documentation on [Configuring access to AWS applications](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-applications.html).
+
+ ```env
+ AWS_ACCESS_KEY_ID=
+ AWS_SECRET_ACCESS_KEY=
+ ```
3. Save the `.env` file.
@@ -127,6 +126,9 @@ You can do this during [initial set up](/docker#setup), or you can add the crede
+5. Access the OpenRAG frontend at `http://localhost:3000`.
+You should be prompted to sign in to your OAuth provider before being redirected to your OpenRAG instance.
+
diff --git a/docs/docs/get-started/docker.mdx b/docs/docs/get-started/docker.mdx
index 575410f2..f0ac6d03 100644
--- a/docs/docs/get-started/docker.mdx
+++ b/docs/docs/get-started/docker.mdx
@@ -79,9 +79,9 @@ The following variables are required or recommended:
* **OAuth provider credentials**: To upload documents from external storage, such as Google Drive, set the required OAuth credentials for the connectors that you want to use. You can [manage OAuth credentials](/ingestion#oauth-ingestion) later, but it is recommended to configure them during initial set up so you don't have to rebuild the containers.
- * **Amazon**: Provide your AWS Access Key ID and AWS Secret Access Key with access to your S3 instance. For more information, see the AWS documentation on [Configuring access to AWS applications](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-applications.html).
* **Google**: Provide your Google OAuth Client ID and Google OAuth Client Secret. You can generate these in the [Google Cloud Console](https://console.cloud.google.com/apis/credentials). For more information, see the [Google OAuth client documentation](https://developers.google.com/identity/protocols/oauth2).
* **Microsoft**: For the Microsoft OAuth Client ID and Microsoft OAuth Client Secret, provide [Azure application registration credentials for SharePoint and OneDrive](https://learn.microsoft.com/en-us/onedrive/developer/rest-api/getting-started/app-registration?view=odsp-graph-online). For more information, see the [Microsoft Graph OAuth client documentation](https://learn.microsoft.com/en-us/onedrive/developer/rest-api/getting-started/graph-oauth).
+ * **Amazon**: Provide your AWS Access Key ID and AWS Secret Access Key with access to your S3 instance. For more information, see the AWS documentation on [Configuring access to AWS applications](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-applications.html).
For more information and variables, see [OpenRAG environment variables](/reference/configuration).
diff --git a/docs/docs/get-started/install.mdx b/docs/docs/get-started/install.mdx
index 31652646..6aca6ad5 100644
--- a/docs/docs/get-started/install.mdx
+++ b/docs/docs/get-started/install.mdx
@@ -54,14 +54,14 @@ For other installation methods, see [Select an installation method](/install-opt
3. Wait while the installer script prepares your environment and installs OpenRAG.
You might be prompted to install certain dependencies if they aren't already present in your environment.
-The entire process can take a few minutes.
-Once the environment is ready, the OpenRAG TUI starts.
+ The entire process can take a few minutes.
+ Once the environment is ready, the OpenRAG TUI starts.
-
+ 
-Because the installer script uses `uvx`, it creates a cached, ephemeral environment in your local `uv` cache, and your OpenRAG configuration files and data are stored separately from the `uv` cache.
-Clearing the cache doesn't delete your entire OpenRAG installation, only the temporary TUI environment.
-After clearing the cache, run `uvx openrag` to [access the TUI](/tui) and continue with your preserved configuration and data.
+ Because the installer script uses `uvx`, it creates a cached, ephemeral environment in your local `uv` cache, and your OpenRAG configuration files and data are stored separately from the `uv` cache.
+ Clearing the cache doesn't delete your entire OpenRAG installation, only the temporary TUI environment.
+ After clearing the cache, run `uvx openrag` to [access the TUI](/tui) and continue with your preserved configuration and data.
If you encounter errors during installation, see [Troubleshoot OpenRAG](/support/troubleshoot).
diff --git a/docs/docs/get-started/manage-services.mdx b/docs/docs/get-started/manage-services.mdx
index d81beaee..69bda93a 100644
--- a/docs/docs/get-started/manage-services.mdx
+++ b/docs/docs/get-started/manage-services.mdx
@@ -19,25 +19,23 @@ If you [installed OpenRAG](/install-options) with the automated installer script
For [self-managed deployments](/docker), run Docker or Podman commands to manage your OpenRAG services.
-## Monitor services
+## Monitor services and view logs
-* **TUI Status menu**: In the **Status** menu (3), you can access streaming logs for all OpenRAG services.
-Select the service you want to view, and then press l.
-To copy the logs, click **Copy to Clipboard**.
+In the TUI, click **Status** to access diagnostics and controls for all OpenRAG services, including container health, ports, and image versions.
-* **TUI Diagnostics menu**: The TUI's **Diagnostics** menu (4) provides health monitoring for your container runtimes and monitoring of your OpenSearch instance.
+To view streaming logs, click the name of a service, and then press l.
-* **Docling**: See [Stop, start, and inspect native services](#start-native-services).
+For the Docling native service, see [Stop, start, and inspect native services](#start-native-services).
-* **Containers**: Get container logs with [`docker compose logs`](https://docs.docker.com/reference/cli/docker/compose/logs/) or [`podman logs`](https://docs.podman.io/en/latest/markdown/podman-logs.1.html).
+For self-managed container services, you can get container logs with [`docker compose logs`](https://docs.docker.com/reference/cli/docker/compose/logs/) or [`podman logs`](https://docs.podman.io/en/latest/markdown/podman-logs.1.html).
-* **Docling**: See [Stop, start, and inspect native services](#start-native-services).
+For the Docling native service, see [Stop, start, and inspect native services](#start-native-services).
@@ -47,10 +45,9 @@ To copy the logs, click **Copy to Clipboard**.
-In the TUI's **Status** menu (3), click **Stop Services** to stop all OpenRAG container-based services.
-Then, click **Start All Services** to restart the OpenRAG containers.
+On the TUI's **Status** page, you can stop, start, and restart OpenRAG's container-based services.
-When you click **Start All Services**, the following processes are triggered:
+When you click **Restart** or **Start Services**, the following processes are triggered:
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 because there are separate Docker Compose files for GPU and CPU deployments.
@@ -75,10 +72,13 @@ A _native service_ in OpenRAG is a service that runs locally on your machine, no
-From the TUI's **Status** menu (3), click **Native Services** to do the following:
+On the TUI's **Status** page, you can stop, start, restart, and inspect OpenRAG's native services.
-* View the service's status, port, and process ID (PID).
-* Stop, start, and restart native services.
+The **Native Services** section lists the status, port, and process ID (PID) for each native service.
+
+To manage a native service, click the service's name, and then click **Stop**, **Start** or **Restart**.
+
+To view the logs for a native service, click the service's name, and then press l.
@@ -135,7 +135,7 @@ To reset your OpenRAG deployment _and_ delete all OpenRAG data, see [Reinstall O
-2. To destroy and recreate your OpenRAG containers, open the TUI's **Status** menu (3), and then click **Factory Reset**.
+2. To destroy and recreate your OpenRAG containers, click **Status** in the TUI, and then click **Factory Reset**.
3. Repeat the [setup process](/install#setup) to restart the services and launch the OpenRAG app. Your OpenRAG passwords, OAuth credentials (if previously set), and onboarding configuration are restored from the `.env` file.
diff --git a/docs/docs/get-started/quickstart.mdx b/docs/docs/get-started/quickstart.mdx
index e006bea8..d3d12575 100644
--- a/docs/docs/get-started/quickstart.mdx
+++ b/docs/docs/get-started/quickstart.mdx
@@ -46,15 +46,20 @@ The script installs OpenRAG dependencies, including Docker or Podman, and then i
The entire process can take a few minutes.
Once the environment is ready, the OpenRAG [Terminal User Interface (TUI)](/tui) starts.
- 
+ 
3. In the TUI, click **Basic Setup**.
-4. Click **Generate Passwords** to create administrator passwords for your OpenRAG OpenSearch and Langflow services.
+4. For **Langflow Admin Password**, click **Generate Password** to create a Langflow administrator password and username.
-5. Leave the **OpenAI API key** field empty.
+5. Use the default values for all other fields.
-6. Click **Save Configuration**, and then click **Start All Services**.
+6. Click **Save Configuration**.
+
+ Your OpenRAG configuration and passwords are stored in an [OpenRAG `.env` file](/reference/configuration) file that is created automatically at `~/.openrag/tui`.
+ OpenRAG container definitions are stored in the `docker-compose` files in the same directory.
+
+7. Click **Start OpenRAG** to start the OpenRAG services.
This process can take some time while OpenRAG pulls and runs the container images.
If all services start successfully, the TUI prints a confirmation message:
@@ -64,12 +69,7 @@ The script installs OpenRAG dependencies, including Docker or Podman, and then i
Command completed successfully
```
- Your OpenRAG configuration and passwords are stored in an [OpenRAG `.env` file](/reference/configuration) file that is created automatically at `~/.openrag/tui`.
- Container definitions are stored in the `docker-compose` files in the same directory.
-
-7. Under [**Native Services**](/manage-services), click **Start** to start the Docling service.
-
-8. From the TUI main menu, click **Open App** to launch the OpenRAG application and start the application onboarding process.
+8. Click **Close**, and then click **Launch OpenRAG** to access the OpenRAG application and start the application onboarding process.
9. For this quickstart, select the **OpenAI** model provider, enter your OpenAI API key, and then click **Complete**. Use the default settings for all other model options.
diff --git a/docs/docs/get-started/reinstall.mdx b/docs/docs/get-started/reinstall.mdx
index dc4466cb..047878d0 100644
--- a/docs/docs/get-started/reinstall.mdx
+++ b/docs/docs/get-started/reinstall.mdx
@@ -21,22 +21,22 @@ Destroyed containers and deleted data are lost and cannot be recovered after run
-2. In the TUI's **Status** menu (3), click **Factory Reset** to [reset your OpenRAG containers](/manage-services#reset-containers).
+2. In the TUI, click **Status**, and then click **Factory Reset** to [reset your OpenRAG containers](/manage-services#reset-containers).
-2. Exit the TUI with q.
+3. Press Esc to close the **Status** page, and then press q to exit the TUI.
-3. Optional: Delete or edit [OpenRAG's `.env` file](/reference/configuration), which is stored at `~/.openrag/tui`.
+4. Optional: Delete or edit [OpenRAG's `.env` file](/reference/configuration), which is stored at `~/.openrag/tui`.
This file contains your OpenRAG configuration, including OpenRAG passwords, API keys, OAuth settings, and other environment variables. If you delete this file, the TUI automatically generates a new one after you repeat the setup and onboarding process. If you preserve this file, the TUI can read values from the existing `.env` file during setup and onboarding.
-4. Optional: Remove any files from the `~/.openrag/documents` subdirectory that you don't want to reingest after redeploying the containers.
+5. Optional: Remove any files from the `~/.openrag/documents` subdirectory that you don't want to reingest after redeploying the containers.
It is recommended that you preserve OpenRAG's [default documents](https://github.com/langflow-ai/openrag/tree/main/openrag-documents).
-5. Restart the TUI with `uv run openrag` or `uvx openrag`.
+6. Restart the TUI with `uv run openrag` or `uvx openrag`.
-6. Repeat the [setup process](/install#setup) to configure OpenRAG and restart all services.
+7. Repeat the [setup process](/install#setup) to configure OpenRAG and restart all services.
Then, launch the OpenRAG app and repeat the [application onboarding process](/install#application-onboarding).
## Reinstall self-managed containers with `docker compose` or `podman compose`
@@ -74,12 +74,14 @@ If you want to reinstall one container, specify the container name in the comman
-
+3. Remove and clean up containers:
-8. Optional: Edit OpenRAG's `.env` file if needed.
+
-9. Optional: If you removed all containers or specifically the OpenSearch container, then you can remove any files from the `~/.openrag/documents` subdirectory that you don't want to reingest after redeploying the containers.
+4. Optional: Edit OpenRAG's `.env` file if needed.
+
+5. Optional: If you removed all containers or specifically the OpenSearch container, then you can remove any files from the `~/.openrag/documents` subdirectory that you don't want to reingest after redeploying the containers.
It is recommended that you preserve OpenRAG's [default documents](https://github.com/langflow-ai/openrag/tree/main/openrag-documents).
-10. If you removed all OpenRAG containers, [redeploy OpenRAG](/docker).
+6. If you removed all OpenRAG containers, [redeploy OpenRAG](/docker).
If you removed only one container, redeploy that container with the appropriate `docker run` or `podman run` command.
\ No newline at end of file
diff --git a/docs/docs/get-started/tui.mdx b/docs/docs/get-started/tui.mdx
index 619543e3..2a6c36dc 100644
--- a/docs/docs/get-started/tui.mdx
+++ b/docs/docs/get-started/tui.mdx
@@ -5,7 +5,7 @@ slug: /tui
The OpenRAG Terminal User Interface (TUI) provides a simplified and guided experience for configuring, managing, and monitoring your OpenRAG deployment directly from the terminal.
-
+
If you install OpenRAG with the [automatic installer script](/install), [`uv`](/install-uv), or [`uvx`](/install-uvx), you use the TUI to manage your OpenRAG deployment.
The TUI guides you through the initial setup, automatically manages your OpenRAG `.env` and `docker-compose` files, and provides convenient access to [service management](/manage-services) controls.
@@ -18,15 +18,29 @@ If you installed OpenRAG with `uv`, access the TUI with `uv run openrag`.
If you installed OpenRAG with the automatic installer script or `uvx`, access the TUI with `uvx openrag`.
+## Navigate the TUI
+
+You can navigate the TUI with your mouse or keyboard.
+Keyboard shortcuts for additional menus are printed at the bottom of the TUI screen.
+
## Manage services with the TUI
-Use the TUI's **Status** menu (3) and **Diagnostics** menu (4) to access controls and information for your OpenRAG services.
+Use the TUI's **Status** page to access controls and information for your OpenRAG services.
For more information, see [Manage OpenRAG services](/manage-services).
+## Toggle GPU/CPU mode
+
+You can toggle between GPU and CPU mode from within the TUI if your system has compatible GPU hardware and drivers installed.
+
+In the TUI, click **Status**, and then click **Switch to GPU Mode** or **Switch to CPU Mode**.
+
+This change requires restarting all OpenRAG services because each mode has its own `docker-compose` file.
+
## Exit the OpenRAG TUI
-To exit the OpenRAG TUI, go to the TUI main menu, and then press q.
+To exit the OpenRAG TUI, press q on the TUI main page.
-Your OpenRAG containers continue to run until they are stopped.
+Exiting the TUI doesn't stop your OpenRAG services.
+Your OpenRAG services continue to run until they are stopped from within the TUI or by another process that inadvertently stops them.
To restart the TUI, see [Access the TUI](#access-the-tui).
\ No newline at end of file
diff --git a/docs/docs/get-started/uninstall.mdx b/docs/docs/get-started/uninstall.mdx
index a7865395..b66e26c0 100644
--- a/docs/docs/get-started/uninstall.mdx
+++ b/docs/docs/get-started/uninstall.mdx
@@ -13,9 +13,9 @@ If you want to reset your OpenRAG containers without removing OpenRAG entirely,
## Uninstall TUI-managed deployments
-If you used the [automated installer script](/install) or [`uvx`](/install-uvx) to install OpenRAG, clear your `uv` cache (`uv cache clean`) to remove the TUI environment, and then delete the directory containing your OpenRAG configuration files and data (where you would invoke OpenRAG).
+If you used the [automated installer script](/install) or [`uvx`](/install-uvx) to install OpenRAG, clear your `uv` cache (`uv cache clean`) to remove the TUI environment, and then delete the `~/.openrag` directory.
-If you used [`uv`](/install-uv) to install OpenRAG, run `uv remove openrag` in your Python project.
+If you used [`uv`](/install-uv) to install OpenRAG, run `uv remove openrag` in your Python project, and then delete the `~/.openrag` directory.
## Uninstall self-managed deployments
@@ -45,11 +45,13 @@ Use these commands to uninstall a self-managed OpenRAG deployment with discrete
-
+2. Remove and clean up containers:
-7. Remove OpenRAG's `.env` file and the `~/.openrag/documents` directory, which aren't deleted by the previous commands.
+
-8. Stop `docling-serve`:
+3. Remove OpenRAG's `.env` file and the `~/.openrag/documents` directory, which aren't deleted by the previous commands.
+
+4. Stop `docling-serve`:
```bash
uv run python scripts/docling_ctl.py stop
diff --git a/docs/docs/get-started/upgrade.mdx b/docs/docs/get-started/upgrade.mdx
index 611c6f6b..2f45ed41 100644
--- a/docs/docs/get-started/upgrade.mdx
+++ b/docs/docs/get-started/upgrade.mdx
@@ -14,7 +14,7 @@ Use these steps to upgrade your OpenRAG deployment to the latest version or a sp
If you modified the built-in flows or created custom flows in your OpenRAG Langflow instance, [export your flows](https://docs.langflow.org/concepts-flows-import) before upgrading.
This ensure that you won't lose your flows after upgrading, and you can reference the exported flows if there are any breaking changes in the new version.
-## Upgrade TUI-managed installations
+## Upgrade TUI-managed deployments
To upgrade OpenRAG, you need to upgrade the OpenRAG Python package, and then upgrade the OpenRAG containers.
@@ -24,12 +24,13 @@ This is a two-part process because upgrading the OpenRAG Python package updates
-2. To check for updates, open the TUI's **Status** menu (3), and then click **Upgrade**.
+2. To check for updates, click **Status** in the TUI, and then click **Upgrade**.
-3. If there is an update, stop all OpenRAG services.
-In the **Status** menu, click **Stop Services**.
+3. If there is an update available, press Esc to close the **Status** page, then then click **Stop All Services**.
-4. Upgrade the OpenRAG Python package to the latest version from [PyPI](https://pypi.org/project/openrag/).
+4. Press q to exit the TUI.
+
+5. Upgrade the OpenRAG Python package to the latest version from [PyPI](https://pypi.org/project/openrag/).
The commands to upgrade the package depend on how you installed OpenRAG.
@@ -112,7 +113,7 @@ The commands to upgrade the package depend on how you installed OpenRAG.
-5. In the OpenRAG TUI, click **Start All Services**, and then wait while the upgraded containers start.
+6. In the OpenRAG TUI, click **Start Services**, and then wait while the services start.
When you start services 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`.
@@ -127,11 +128,9 @@ The commands to upgrade the package depend on how you installed OpenRAG.
If you get an error that `langflow container already exists` error during upgrade, see [Langflow container already exists during upgrade](/support/troubleshoot#langflow-container-already-exists-during-upgrade).
-6. Under [**Native Services**](/manage-services), click **Start** to start the Docling service.
+7. After the containers start, click **Close**, and then click **Launch OpenRAG**.
-7. When the upgrade process is complete, you can close the **Status** window and continue using OpenRAG.
-
-## Upgrade self-managed containers
+## Upgrade self-managed deployments
@@ -149,6 +148,8 @@ The commands to upgrade the package depend on how you installed OpenRAG.
By default, OpenRAG's `docker-compose` files pull the latest container images.
+3. After the containers start, access the OpenRAG application at `http://localhost:3000`.
+
## See also
* [Manage OpenRAG services](/manage-services)
diff --git a/docs/docs/reference/configuration.mdx b/docs/docs/reference/configuration.mdx
index 444bab0d..3a60fdec 100644
--- a/docs/docs/reference/configuration.mdx
+++ b/docs/docs/reference/configuration.mdx
@@ -22,7 +22,7 @@ If a variable isn't set, OpenRAG uses default or fallback values where available
Not all variables have default values, and errors can occur if required variables aren't set.
Default values can be found in the reference tables on this page and in [`config_manager.py`](https://github.com/langflow-ai/openrag/blob/main/src/config/config_manager.py), [`settings.py`](https://github.com/langflow-ai/openrag/blob/main/src/config/settings.py), and [`logging_config.py`](https://github.com/langflow-ai/openrag/blob/main/src/utils/logging_config.py).
-You can [temporarily set Langflow variables at runtime](#modify-a-flow-at-runtime).
+You can [temporarily set Langflow variables at runtime](/agents#modify-a-flow-at-runtime).
However, these temporary overrides don't overlap with most OpenRAG environment variables.
The only exceptions are flow-level Langflow settings, such as the language model used in a flow.
diff --git a/docs/docs/support/troubleshoot.mdx b/docs/docs/support/troubleshoot.mdx
index b8cfcfe2..b26d2fbd 100644
--- a/docs/docs/support/troubleshoot.mdx
+++ b/docs/docs/support/troubleshoot.mdx
@@ -74,7 +74,7 @@ For example, on macOS, this is typically a user cache directory, such as `~/.cac
This cache can become stale, producing errors like missing dependencies.
-1. [Exit the TUI](/tui).
+1. If the TUI is open, press q to exit the TUI.
2. Clear the `uv` cache:
@@ -94,7 +94,7 @@ This cache can become stale, producing errors like missing dependencies.
uvx openrag
```
-4. Click **Open App**, and then retry document ingestion.
+4. Click **Launch OpenRAG**, and then retry document ingestion.
If you install OpenRAG with `uv`, dependencies are synced directly from your `pyproject.toml` file.
This should automatically install `easyocr` because `easyocr` is included as a dependency in OpenRAG's `pyproject.toml`.
diff --git a/docs/static/img/OpenRAG_TUI_2025-09-10T13_04_11_757637.svg b/docs/static/img/OpenRAG_TUI_2025-09-10T13_04_11_757637.svg
deleted file mode 100644
index f50bef7d..00000000
--- a/docs/static/img/OpenRAG_TUI_2025-09-10T13_04_11_757637.svg
+++ /dev/null
@@ -1,237 +0,0 @@
-
diff --git a/docs/static/img/openrag_tui_dec_2025.png b/docs/static/img/openrag_tui_dec_2025.png
new file mode 100644
index 00000000..fd3f6f77
Binary files /dev/null and b/docs/static/img/openrag_tui_dec_2025.png differ