#!/bin/bash # Script to run LegisQA with Docker, mounting the ChromaDB volume # Port configuration (default to 8505 to avoid conflicts) HOST_PORT=${PORT:-8505} CONTAINER_PORT=8501 # Fixed port in Dockerfile # ChromaDB host path (local chromadb directory) CHROMA_HOST_PATH="$(pwd)/chromadb" # Container path where ChromaDB will be mounted CHROMA_CONTAINER_PATH="/home/user/app/chroma_data" echo "Starting LegisQA Docker container..." echo "Host Port: $HOST_PORT -> Container Port: $CONTAINER_PORT" echo "ChromaDB Host Path: $CHROMA_HOST_PATH" echo "ChromaDB Container Path: $CHROMA_CONTAINER_PATH" echo "Environment File: docker.env" echo "" # Check if ChromaDB path exists if [ ! -d "$CHROMA_HOST_PATH" ]; then echo "ERROR: ChromaDB path does not exist: $CHROMA_HOST_PATH" exit 1 fi # Check if env file exists if [ ! -f "docker.env" ]; then echo "ERROR: Environment file does not exist: docker.env" exit 1 fi # Run Docker container docker run -p $HOST_PORT:$CONTAINER_PORT \ --env-file docker.env \ -v "$CHROMA_HOST_PATH:$CHROMA_CONTAINER_PATH" \ --name legisqa-container \ --rm \ legisqa-local echo "Docker container stopped."