Docker Compose#

Running the Service with Docker Compose#

Prerequisites#

Setting up env#

Create a .env file in the root directory and set the following variables:

NVIDIA_API_KEY=<IF USING NVIDIA> #NVIDIA API key
NVIDIA_VISIBLE_DEVICES=<GPU ID> #GPU ID, e.g. 0

OPENAI_API_KEY=<IF USING OPENAI> #OpenAI API key

VSS_CTX_PORT_RET=<DATA RETRIEVAL PORT> #data retrieval port, e.g. 8000
VSS_CTX_PORT_IN=<DATA INGESTION PORT> #data ingestion port, e.g. 8001

Using docker compose#

First build the containers#

make -C docker build

Start the services#

make -C docker start_compose

This will start the following services:

  • ctx-rag-data-ingestion

  • ctx-rag-data-retrieval

  • neo4j

    • UI available at http://<HOST>:7474

  • milvus

  • otel-collector

  • jaeger

    • UI available at http://<HOST>:16686

  • prometheus

    • UI available at http://<HOST>:9090

  • cassandra

To change the storage volumes, export DOCKER_VOLUME_DIRECTORY to the desired directory.

Stop the services#

make -C docker stop_compose