Docker Compose#

Running the Service with Docker Compose#

Prerequisites#

Setting up environment#

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

# Milvus Configuration
MILVUS_DB_HTTP_PORT=<MILVUS_HTTP_PORT> #milvus HTTP port, e.g. 9091
MILVUS_DB_PORT=<MILVUS_GRPC_PORT> #milvus GRPC port, e.g. 19530

# Neo4j Configuration
GRAPH_DB_HTTP_PORT=<NEO4J_HTTP_PORT> #neo4j HTTP port, e.g. 7474
GRAPH_DB_PORT=<NEO4J_PORT> #neo4j bolt port, e.g. 7687
GRAPH_DB_USERNAME=<USERNAME> #neo4j username, e.g. neo4j
GRAPH_DB_PASSWORD=<PASSWORD> #neo4j password, e.g. password

# MinIO Configuration
MINIO_PORT=<MINIO_PORT> #minio API port, e.g. 9000
MINIO_WEBUI_PORT=<MINIO_WEBUI_PORT> #minio web UI port, e.g. 9001
MINIO_ROOT_USER=<MINIO_USER> #minio root user, e.g. minio
MINIO_ROOT_PASSWORD=<MINIO_PASSWORD> #minio root password, e.g. minio123

# ArangoDB Configuration
ARANGO_DB_PORT=<ARANGO_PORT> #arangodb port, e.g. 8529
ARANGO_DB_USERNAME=<ARANGO_USER> #arangodb username
ARANGO_DB_PASSWORD=<ARANGO_PASSWORD> #arangodb password

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:

  • vss-ctx-rag-data-ingestion

  • vss-ctx-rag-retriever

  • neo4j-db

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

  • milvus-standalone

  • minio

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

  • arango-db

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

  • otel-collector

  • phoenix

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

  • prometheus

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

  • grafana

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

  • cassandra

  • cassandra-schema

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

Stop the services#

make -C docker stop_compose