Merge branch 'main' into docs-env-vars
This commit is contained in:
commit
dfcef7e454
3 changed files with 149 additions and 149 deletions
|
|
@ -1,40 +1,88 @@
|
||||||
---
|
---
|
||||||
title: Docker Deployment
|
title: Docker deployment
|
||||||
slug: /get-started/docker
|
slug: /get-started/docker
|
||||||
---
|
---
|
||||||
|
|
||||||
# Docker Deployment
|
There are two different Docker Compose files.
|
||||||
|
They deploy the same applications and containers, but to different environments.
|
||||||
|
|
||||||
## Standard Deployment
|
- [`docker-compose.yml`](https://github.com/langflow-ai/openrag/blob/main/docker-compose.yml) is an OpenRAG deployment with GPU support for accelerated AI processing.
|
||||||
|
|
||||||
```bash
|
- [`docker-compose-cpu.yml`](https://github.com/langflow-ai/openrag/blob/main/docker-compose-cpu.yml) is a CPU-only version of OpenRAG for systems without GPU support. Use this Docker compose file for environments where GPU drivers aren't available.
|
||||||
# Build and start all services
|
|
||||||
docker compose build
|
|
||||||
docker compose up -d
|
|
||||||
```
|
|
||||||
|
|
||||||
## CPU-Only Deployment
|
To install OpenRAG with Docker Compose:
|
||||||
|
|
||||||
For environments without GPU support:
|
1. Clone the OpenRAG repository.
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/langflow-ai/openrag.git
|
||||||
|
cd openrag
|
||||||
|
```
|
||||||
|
|
||||||
```bash
|
2. Copy the example `.env` file that is included in the repository root.
|
||||||
docker compose -f docker-compose-cpu.yml up -d
|
The example file includes all environment variables with comments to guide you in finding and setting their values.
|
||||||
```
|
```bash
|
||||||
|
cp .env.example .env
|
||||||
|
```
|
||||||
|
|
||||||
## Force Rebuild
|
Alternatively, create a new `.env` file in the repository root.
|
||||||
|
```
|
||||||
|
touch .env
|
||||||
|
```
|
||||||
|
|
||||||
If you need to reset state or rebuild everything:
|
3. Set environment variables. The Docker Compose files are populated with values from your `.env`, so the following values are **required** to be set:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
OPENSEARCH_PASSWORD=your_secure_password
|
||||||
|
OPENAI_API_KEY=your_openai_api_key
|
||||||
|
|
||||||
|
LANGFLOW_SUPERUSER=admin
|
||||||
|
LANGFLOW_SUPERUSER_PASSWORD=your_langflow_password
|
||||||
|
LANGFLOW_SECRET_KEY=your_secret_key
|
||||||
|
```
|
||||||
|
For more information on configuring OpenRAG with environment variables, see [Environment variables](/configure/configuration).
|
||||||
|
For additional configuration values, including `config.yaml`, see [Configuration](/configure/configuration).
|
||||||
|
|
||||||
|
4. Deploy OpenRAG with Docker Compose based on your deployment type.
|
||||||
|
|
||||||
|
For GPU-enabled systems, run the following command:
|
||||||
|
```bash
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
For CPU-only systems, run the following command:
|
||||||
|
```bash
|
||||||
|
docker compose -f docker-compose-cpu.yml up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
The OpenRAG Docker Compose file starts five containers:
|
||||||
|
| Container Name | Default Address | Purpose |
|
||||||
|
|---|---|---|
|
||||||
|
| OpenRAG Backend | http://localhost:8000 | FastAPI server and core functionality. |
|
||||||
|
| OpenRAG Frontend | http://localhost:3000 | React web interface for users. |
|
||||||
|
| Langflow | http://localhost:7860 | AI workflow engine and flow management. |
|
||||||
|
| OpenSearch | http://localhost:9200 | Vector database for document storage. |
|
||||||
|
| OpenSearch Dashboards | http://localhost:5601 | Database administration interface. |
|
||||||
|
|
||||||
|
5. Verify installation by confirming all services are running.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose ps
|
||||||
|
```
|
||||||
|
|
||||||
|
You can now access the application at:
|
||||||
|
|
||||||
|
- **Frontend**: http://localhost:3000
|
||||||
|
- **Backend API**: http://localhost:8000
|
||||||
|
- **Langflow**: http://localhost:7860
|
||||||
|
|
||||||
|
Continue with the [Quickstart](/quickstart).
|
||||||
|
|
||||||
|
## Rebuild all Docker containers
|
||||||
|
|
||||||
|
If you need to reset state and rebuild all of your containers, run the following command.
|
||||||
|
Your OpenSearch and Langflow databases will be lost.
|
||||||
|
Documents stored in the `./documents` directory will persist, since the directory is mounted as a volume in the OpenRAG backend container.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker compose up --build --force-recreate --remove-orphans
|
docker compose up --build --force-recreate --remove-orphans
|
||||||
```
|
```
|
||||||
|
|
||||||
## Service URLs
|
|
||||||
|
|
||||||
After deployment, services are available at:
|
|
||||||
|
|
||||||
- Frontend: http://localhost:3000
|
|
||||||
- Backend API: http://localhost:8000
|
|
||||||
- Langflow: http://localhost:7860
|
|
||||||
- OpenSearch: http://localhost:9200
|
|
||||||
- OpenSearch Dashboards: http://localhost:5601
|
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ OpenRAG can be installed in multiple ways:
|
||||||
|
|
||||||
* [**Python wheel**](#install-python-wheel): Install the OpenRAG Python wheel and use the [OpenRAG Terminal User Interface (TUI)](/get-started/tui) to install, run, and configure your OpenRAG deployment without running Docker commands.
|
* [**Python wheel**](#install-python-wheel): Install the OpenRAG Python wheel and use the [OpenRAG Terminal User Interface (TUI)](/get-started/tui) to install, run, and configure your OpenRAG deployment without running Docker commands.
|
||||||
|
|
||||||
* [**Docker Compose**](#install-and-run-docker): Clone the OpenRAG repository and deploy OpenRAG with Docker Compose, including all services and dependencies.
|
* [**Docker Compose**](get-started/docker): Clone the OpenRAG repository and deploy OpenRAG with Docker Compose, including all services and dependencies.
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
|
|
@ -138,80 +138,4 @@ The `LANGFLOW_PUBLIC_URL` controls where the Langflow web interface can be acces
|
||||||
|
|
||||||
The `WEBHOOK_BASE_URL` controls where the endpoint for `/connectors/CONNECTOR_TYPE/webhook` will be available.
|
The `WEBHOOK_BASE_URL` controls where the endpoint for `/connectors/CONNECTOR_TYPE/webhook` will be available.
|
||||||
This connection enables real-time document synchronization with external services.
|
This connection enables real-time document synchronization with external services.
|
||||||
For example, for Google Drive file synchronization the webhook URL is `/connectors/google_drive/webhook`.
|
For example, for Google Drive file synchronization the webhook URL is `/connectors/google_drive/webhook`.
|
||||||
|
|
||||||
## Docker {#install-and-run-docker}
|
|
||||||
|
|
||||||
There are two different Docker Compose files.
|
|
||||||
They deploy the same applications and containers, but to different environments.
|
|
||||||
|
|
||||||
- [`docker-compose.yml`](https://github.com/langflow-ai/openrag/blob/main/docker-compose.yml) is an OpenRAG deployment with GPU support for accelerated AI processing.
|
|
||||||
|
|
||||||
- [`docker-compose-cpu.yml`](https://github.com/langflow-ai/openrag/blob/main/docker-compose-cpu.yml) is a CPU-only version of OpenRAG for systems without GPU support. Use this Docker compose file for environments where GPU drivers aren't available.
|
|
||||||
|
|
||||||
To install OpenRAG with Docker Compose:
|
|
||||||
|
|
||||||
1. Clone the OpenRAG repository.
|
|
||||||
```bash
|
|
||||||
git clone https://github.com/langflow-ai/openrag.git
|
|
||||||
cd openrag
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Copy the example `.env` file that is included in the repository root.
|
|
||||||
The example file includes all environment variables with comments to guide you in finding and setting their values.
|
|
||||||
```bash
|
|
||||||
cp .env.example .env
|
|
||||||
```
|
|
||||||
|
|
||||||
Alternatively, create a new `.env` file in the repository root.
|
|
||||||
```
|
|
||||||
touch .env
|
|
||||||
```
|
|
||||||
|
|
||||||
3. Set environment variables. The Docker Compose files are populated with values from your `.env`, so the following values are **required** to be set:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
OPENSEARCH_PASSWORD=your_secure_password
|
|
||||||
OPENAI_API_KEY=your_openai_api_key
|
|
||||||
|
|
||||||
LANGFLOW_SUPERUSER=admin
|
|
||||||
LANGFLOW_SUPERUSER_PASSWORD=your_langflow_password
|
|
||||||
LANGFLOW_SECRET_KEY=your_secret_key
|
|
||||||
```
|
|
||||||
For more information on configuring OpenRAG with environment variables, see [Environment variables](/reference/configuration).
|
|
||||||
For additional configuration values, including `config.yaml`, see [Configuration](/reference/configuration).
|
|
||||||
|
|
||||||
4. Deploy OpenRAG with Docker Compose based on your deployment type.
|
|
||||||
|
|
||||||
For GPU-enabled systems, run the following command:
|
|
||||||
```bash
|
|
||||||
docker compose up -d
|
|
||||||
```
|
|
||||||
|
|
||||||
For CPU-only systems, run the following command:
|
|
||||||
```bash
|
|
||||||
docker compose -f docker-compose-cpu.yml up -d
|
|
||||||
```
|
|
||||||
|
|
||||||
The OpenRAG Docker Compose file starts five containers:
|
|
||||||
| Container Name | Default Address | Purpose |
|
|
||||||
|---|---|---|
|
|
||||||
| OpenRAG Backend | http://localhost:8000 | FastAPI server and core functionality. |
|
|
||||||
| OpenRAG Frontend | http://localhost:3000 | React web interface for users. |
|
|
||||||
| Langflow | http://localhost:7860 | AI workflow engine and flow management. |
|
|
||||||
| OpenSearch | http://localhost:9200 | Vector database for document storage. |
|
|
||||||
| OpenSearch Dashboards | http://localhost:5601 | Database administration interface. |
|
|
||||||
|
|
||||||
5. Verify installation by confirming all services are running.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker compose ps
|
|
||||||
```
|
|
||||||
|
|
||||||
You can now access the application at:
|
|
||||||
|
|
||||||
- **Frontend**: http://localhost:3000
|
|
||||||
- **Backend API**: http://localhost:8000
|
|
||||||
- **Langflow**: http://localhost:7860
|
|
||||||
|
|
||||||
Continue with the Quickstart.
|
|
||||||
|
|
@ -1,66 +1,94 @@
|
||||||
---
|
---
|
||||||
title: Terminal Interface (TUI)
|
title: Terminal User Interface (TUI) commands
|
||||||
slug: /get-started/tui
|
slug: /get-started/tui
|
||||||
---
|
---
|
||||||
|
|
||||||
# OpenRAG TUI Guide
|
# OpenRAG TUI Guide
|
||||||
|
|
||||||
The OpenRAG Terminal User Interface (TUI) provides a streamlined way to set up, configure, and monitor your OpenRAG deployment directly from the terminal.
|
The OpenRAG Terminal User Interface (TUI) provides a streamlined way to set up, configure, and monitor your OpenRAG deployment directly from the terminal, on any operating system.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Launch
|
The TUI offers an easier way to use OpenRAG without sacrificing control.
|
||||||
|
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.
|
||||||
|
|
||||||
|
## Start the TUI
|
||||||
|
|
||||||
|
To start the TUI, run the following commands from the directory where you installed OpenRAG.
|
||||||
|
For more information, see [Install OpenRAG](/install).
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
uv sync
|
uv sync
|
||||||
uv run openrag
|
uv run openrag
|
||||||
```
|
```
|
||||||
|
|
||||||
## Features
|
The TUI Welcome Screen offers basic and advanced setup options.
|
||||||
|
For more information on setup values during installation, see [Install OpenRAG](/install).
|
||||||
### Welcome Screen
|
|
||||||
- Quick setup options: basic (no auth) or advanced (OAuth)
|
|
||||||
- Service monitoring: container status at a glance
|
|
||||||
- Quick actions: diagnostics, logs, configuration
|
|
||||||
|
|
||||||
### Configuration Screen
|
|
||||||
- Environment variables: guided forms for required settings
|
|
||||||
- API keys: secure input with validation
|
|
||||||
- OAuth setup: Google and Microsoft
|
|
||||||
- Document paths: configure ingestion directories
|
|
||||||
- Auto-save: generates and updates `.env`
|
|
||||||
|
|
||||||
### Service Monitor
|
|
||||||
- Container status: real-time state of services
|
|
||||||
- Resource usage: CPU, memory, network
|
|
||||||
- Service control: start/stop/restart
|
|
||||||
- Health checks: health indicators for all components
|
|
||||||
|
|
||||||
### Log Viewer
|
|
||||||
- Live logs: stream logs across services
|
|
||||||
- Filtering: by service (backend, frontend, Langflow, OpenSearch)
|
|
||||||
- Levels: DEBUG/INFO/WARNING/ERROR
|
|
||||||
- Export: save logs for later analysis
|
|
||||||
|
|
||||||
### Diagnostics
|
|
||||||
- System checks: Docker/Podman availability and configuration
|
|
||||||
- Environment validation: verify required variables
|
|
||||||
- Network tests: connectivity between services
|
|
||||||
- Performance metrics: system capacity and recommendations
|
|
||||||
|
|
||||||
## Navigation
|
## Navigation
|
||||||
- Arrow keys: move between options
|
|
||||||
- Tab/Shift+Tab: switch fields and buttons
|
|
||||||
- Enter: select/confirm
|
|
||||||
- Escape: back
|
|
||||||
- Q: quit
|
|
||||||
- Number keys (1-4): quick access to main screens
|
|
||||||
|
|
||||||
## Benefits
|
The TUI accepts mouse input or keyboard commands.
|
||||||
1. Simplified setup without manual file edits
|
|
||||||
2. Clear visual feedback and error messages
|
|
||||||
3. Integrated monitoring and control
|
|
||||||
4. Cross-platform: Linux, macOS, Windows
|
|
||||||
5. Fully terminal-based; no browser required
|
|
||||||
|
|
||||||
|
- <kbd>Arrow keys</kbd>: move between options
|
||||||
|
- <kbd>Tab</kbd>/<kbd>Shift+Tab</kbd>: switch fields and buttons
|
||||||
|
- <kbd>Enter</kbd>: select/confirm
|
||||||
|
- <kbd>Escape</kbd>: back
|
||||||
|
- <kbd>Q</kbd>: quit
|
||||||
|
- <kbd>Number keys (1-4)</kbd>: quick access to main screens
|
||||||
|
|
||||||
|
## Container management
|
||||||
|
|
||||||
|
The TUI can deploy, manage, and upgrade your OpenRAG containers.
|
||||||
|
|
||||||
|
### Start container services
|
||||||
|
|
||||||
|
Click **Start Container Services** to start the OpenRAG containers.
|
||||||
|
The TUI 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.
|
||||||
|
The TUI then pulls the images and deploys the containers with the following command.
|
||||||
|
```bash
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
If images are missing, the TUI runs `docker compose pull`, then runs `docker compose up -d`.
|
||||||
|
|
||||||
|
### Start native services
|
||||||
|
|
||||||
|
A "native" service in OpenRAG refers to a service run natively on your machine, and not within a container.
|
||||||
|
The `docling-serve` process is a native service in OpenRAG, because it's a document processing service that is run on your local machine, and controlled separately from the containers.
|
||||||
|
|
||||||
|
To start or stop `docling-serve` or any other native services, in the TUI main menu, click **Start Native Services** or **Stop Native Services**.
|
||||||
|
|
||||||
|
To view the status, port, or PID of a native service, in the TUI main menu, click [Status](#status).
|
||||||
|
|
||||||
|
### 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.
|
||||||
|
|
||||||
|
To view streaming logs, select the container you want to view, and press <kbd>l</kbd>.
|
||||||
|
To copy your logs, click **Copy to Clipboard**.
|
||||||
|
|
||||||
|
To **upgrade** your containers, click **Upgrade**.
|
||||||
|
**Upgrade** runs `docker compose pull` and then `docker compose up -d --force-recreate`.
|
||||||
|
The first command pulls the latest images of OpenRAG.
|
||||||
|
The second command recreates the containers with your data persisted.
|
||||||
|
|
||||||
|
To **reset** your containers, click **Reset**.
|
||||||
|
Reset gives you a completely fresh start.
|
||||||
|
Reset deletes all of your data, including OpenSearch data, uploaded documents, and authentication.
|
||||||
|
**Reset** runs two commands.
|
||||||
|
It first stops and removes all containers, volumes, and local images.
|
||||||
|
```
|
||||||
|
docker compose down --volumes --remove-orphans --rmi local
|
||||||
|
```
|
||||||
|
|
||||||
|
When the first command is complete, OpenRAG removes any additional Docker objects with `prune`.
|
||||||
|
|
||||||
|
```
|
||||||
|
docker system prune -f
|
||||||
|
```
|
||||||
|
|
||||||
|
## Diagnostics
|
||||||
|
|
||||||
|
The **Diagnostics** menu provides health monitoring for your container runtimes and monitoring of your OpenSearch security.
|
||||||
Loading…
Add table
Reference in a new issue