From 0cdc26bf15aabc28a3b5ea80bbe34173717bdfd1 Mon Sep 17 00:00:00 2001 From: phact Date: Mon, 18 Aug 2025 16:54:39 -0400 Subject: [PATCH] cpu compose profile --- README.md | 4 ++ docker-compose-cpu.yml | 98 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 docker-compose-cpu.yml diff --git a/README.md b/README.md index b19ce4ae..4347b3c4 100644 --- a/README.md +++ b/README.md @@ -5,3 +5,7 @@ docker compose build docker compose up + +CPU only: + + docker compose -f docker-compose-cpu.yml up diff --git a/docker-compose-cpu.yml b/docker-compose-cpu.yml new file mode 100644 index 00000000..49d369c9 --- /dev/null +++ b/docker-compose-cpu.yml @@ -0,0 +1,98 @@ +services: + opensearch: + build: + context: . + dockerfile: Dockerfile + container_name: os + depends_on: + - openrag-backend + environment: + - discovery.type=single-node + - OPENSEARCH_INITIAL_ADMIN_PASSWORD=${OPENSEARCH_PASSWORD} + # Run security setup in background after OpenSearch starts + command: > + bash -c " + # Start OpenSearch in background + /usr/share/opensearch/opensearch-docker-entrypoint.sh opensearch & + + # Wait a bit for OpenSearch to start, then apply security config + sleep 10 && /usr/share/opensearch/setup-security.sh & + + # Wait for background processes + wait + " + ports: + - "9200:9200" + - "9600:9600" + + dashboards: + image: opensearchproject/opensearch-dashboards:3.0.0 + container_name: osdash + depends_on: + - opensearch + environment: + OPENSEARCH_HOSTS: '["https://opensearch:9200"]' + OPENSEARCH_USERNAME: "admin" + OPENSEARCH_PASSWORD: ${OPENSEARCH_PASSWORD} + ports: + - "5601:5601" + + openrag-backend: + image: phact/openrag-backend:latest + #build: + #context: . + #dockerfile: Dockerfile.backend + container_name: openrag-backend + depends_on: + - langflow + environment: + - OPENSEARCH_HOST=opensearch + - LANGFLOW_URL=http://langflow:7860 + - LANGFLOW_SECRET_KEY=${LANGFLOW_SECRET_KEY} + - FLOW_ID=${FLOW_ID} + - OPENSEARCH_PORT=9200 + - OPENSEARCH_USERNAME=admin + - OPENSEARCH_PASSWORD=${OPENSEARCH_PASSWORD} + - OPENAI_API_KEY=${OPENAI_API_KEY} + - NVIDIA_DRIVER_CAPABILITIES=compute,utility + - NVIDIA_VISIBLE_DEVICES=all + - GOOGLE_OAUTH_CLIENT_ID=${GOOGLE_OAUTH_CLIENT_ID} + - GOOGLE_OAUTH_CLIENT_SECRET=${GOOGLE_OAUTH_CLIENT_SECRET} + volumes: + - ./src:/app/src + - ./pyproject.toml:/app/pyproject.toml + - ./uv.lock:/app/uv.lock + - ./documents:/app/documents + - ./keys:/app/keys + platform: linux/amd64 + + openrag-frontend: + image: phact/openrag-frontend:latest + #build: + #context: . + #dockerfile: Dockerfile.frontend + container_name: openrag-frontend + depends_on: + - openrag-backend + environment: + - OPENRAG_BACKEND_HOST=openrag-backend + ports: + - "3000:3000" + volumes: + - ./frontend/src:/app/src + + langflow: + volumes: + - ./flows:/app/flows + image: phact/langflow:responses + container_name: langflow + ports: + - "7860:7860" + environment: + - OPENAI_API_KEY=${OPENAI_API_KEY} + - LANGFLOW_LOAD_FLOWS_PATH=/app/flows + - LANGFLOW_SECRET_KEY=${LANGFLOW_SECRET_KEY} + - JWT="dummy" + - OPENRAG-QUERY-FILTER="{}" + - LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT=JWT,OPENRAG-QUERY-FILTER + - LANGFLOW_LOG_LEVEL=DEBUG