# Use Python 3.10 as base image FROM python:3.10-slim # Set working directory in container WORKDIR /app/src # Copy requirements file COPY src/requirements.txt . # Install dependencies RUN pip install --no-cache-dir -r requirements.txt # Copy the entire project COPY src . # Expose ports for API and Streamlit EXPOSE 8000 8501 # Create script to run both services RUN echo '#!/bin/bash\n\ python response_api.py &\n\ sleep 5\n\ streamlit run app.py' > ./start.sh # Make the script executable RUN chmod +x ./start.sh # Create necessary directories and set permissions RUN mkdir -p /app/src/.embedchain && chmod -R 777 /app/src/.embedchain # Copy .env file and set environment variables COPY src/.env . # Set environment variables from .env ENV $(cat .env | xargs) # Run the start script CMD ["./start.sh"]