FROM nvidia/cuda:12.2.2-cudnn8-devel-ubuntu22.04 ARG DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install --no-install-recommends -y \ build-essential \ curl \ ffmpeg \ libsm6 \ libxext6 \ python3-pip \ python3-dev \ python3-venv \ python3-wheel \ ninja-build \ libmagic-dev \ pandoc>=2.14.2 \ libreoffice \ tesseract-ocr \ poppler-utils \ git \ && apt-get clean && rm -rf /var/lib/apt/lists/* WORKDIR /data ENV VIRTUAL_ENV=/opt/venv RUN python3 -m venv $VIRTUAL_ENV ENV PATH="$VIRTUAL_ENV/bin:$PATH" COPY ./requirements.txt /data/requirements.txt RUN pip3 install --no-cache-dir --upgrade -r /data/requirements.txt RUN pip3 install --no-cache-dir llama-cpp-python \ --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cu122 COPY pip.conf $VIRTUAL_ENV/pip.conf RUN pip3 install onnxruntime-gpu==1.17.1 RUN useradd -m -u 1000 user USER user ENV HOME=/home/user \ PATH=/home/user/.local/bin:$PATH \ PYTHONPATH=$HOME/app \ PYTHONUNBUFFERED=1 \ NVIDIA_VISIBLE_DEVICES=all \ NVIDIA_DRIVER_CAPABILITIES=compute,utility \ SYSTEM=spaces \ HF_HOME=/data \ NLTK_DATA=$HF_HOME \ TOKENIZERS_PARALLELISM=false WORKDIR $HOME/data COPY --chown=user . $HOME/data RUN curl -sfL https://raw.githubusercontent.com/milvus-io/milvus/master/scripts/standalone_embed.sh -o standalone_embed.sh RUN chmod +x standalone_embed.sh EXPOSE 8501 19530 CMD ["bash", "-c", "./standalone_embed.sh start & streamlit run app.py --server.headless true --server.enableCORS false --server.enableXsrfProtection false --server.fileWatcherType watchdog"]