# Use an official Miniconda image as the base FROM python:3.10.15-bullseye ENV PIP_DEFAULT_TIMEOUT=500 RUN apt-get update && apt-get upgrade -y && apt-get install -y --no-install-recommends \ python3 \ python3-pip \ ninja-build \ libopenblas-dev \ build-essential \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* /tmp/* ENV LC_ALL en_US.UTF-8 ENV LANG en_US.UTF-8 ENV LANGUAGE en_US.UTF-8 RUN python3 -m pip install --upgrade pip RUN python3 -m pip install --upgrade pip pytest cmake scikit-build setuptools fastapi uvicorn sse-starlette pydantic-settings starlette-context RUN pip install llama-cpp-python --verbose; COPY requirements.txt . RUN pip install -r requirements.txt RUN useradd -m -u 1000 user USER user COPY --chown=user:user . /finance-rag-chatbot-group39 WORKDIR /finance-rag-chatbot-group39 RUN chown -R user:user /finance-rag-chatbot-group39 # Final command: run the mesop script # CMD ["mesop", "main.py", "--port", "8080"] #CMD ["gunicorn", "--bind", "0.0.0.0:8080", "app:me"] CMD ["gunicorn", "--bind", "0.0.0.0:8080", "--timeout", "500", "main:me"]