Multipurpose-AI-Agent-Development / Dockerfile-multi-stage
devve1's picture
Rename Dockerfile to Dockerfile-multi-stage
31e8843 verified
raw
history blame
No virus
2.09 kB
FROM nvidia/cuda:12.2.2-cudnn8-runtime-ubuntu22.04 AS llama_builder
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install --no-install-recommends -y \
build-essential \
python3-pip \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
RUN python -m venv /opt/venv
ENV PATH=/opt/venv/bin:$PATH \
NVIDIA_VISIBLE_DEVICES=all \
NVIDIA_DRIVER_CAPABILITIES=compute,utility
RUN CMAKE_ARGS="-DLLAMA_CUDA=on" pip3 install --no-cache-dir llama-cpp-python
FROM nvcr.io/nvidia/pytorch:23.10-py3 AS dep_builder
RUN apt-get update && apt-get install --no-install-recommends -y \
python3-pip \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
RUN python -m venv /opt/venv
ENV PATH=/opt/venv/bin:$PATH \
NVIDIA_VISIBLE_DEVICES=all \
NVIDIA_DRIVER_CAPABILITIES=compute,utility
RUN pip3 install --no-cache-dir fastembed-gpu
FROM bitnami/minideb:bookworm
RUN apt-get update && apt-get install --no-install-recommends -y \
curl \
build-essential \
ffmpeg \
libsm6 \
libxext6 \
python3.10 \
python3-pip \
python3-dev \
ninja-build \
tesseract-ocr \
poppler-utils \
git \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
RUN python -m venv /opt/venv
COPY --from=llama_builder /opt/venv /opt/venv
COPY --from=dep_builder /opt/venv /opt/venv
WORKDIR /app
ENV HOME=/home/user \
PATH=/opt/venv/bin:$PATH \
PYTHONPATH=$HOME/app \
PYTHONUNBUFFERED=1 \
NVIDIA_VISIBLE_DEVICES=all \
NVIDIA_DRIVER_CAPABILITIES=compute,utility \
SYSTEM=spaces \
HF_HOME=/data/.huggingface
COPY ./requirements.txt /app/requirements.txt
RUN pip3 install --no-cache-dir --upgrade -r /app/requirements.txt
RUN useradd -m -u 1000 user
USER user
WORKDIR $HOME/app
COPY --chown=user . $HOME/app
EXPOSE 8501
CMD streamlit run app.py \
--server.headless true \
--server.enableCORS false \
--server.enableXsrfProtection false \
--server.fileWatcherType watchdog \
--theme.backgroundColor "#EEE3D3" \
--theme.secondaryBackgroundColor "#CCC8C2" \
--theme.primaryColor "#EF792D" \
--theme.textColor "#7D6654"