88 lines
3.2 KiB
Text
88 lines
3.2 KiB
Text
---
|
|
title: Docker deployment
|
|
slug: /get-started/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](/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
|
|
docker compose up --build --force-recreate --remove-orphans
|
|
```
|