File size: 1,164 Bytes
cc9f92c ef31b6d 6278677 cc9f92c 6278677 feaa33a 6278677 f11bcc1 4461325 feaa33a 10e3225 6278677 7e7a852 6278677 7e7a852 6278677 ef31b6d cc9f92c 6278677 7e7a852 cc9f92c 6278677 2df7bb1 ef31b6d efa2743 6278677 cc9f92c 889c14c 6278677 cc9f92c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
FROM nvidia/cuda:12.4.1-devel-ubuntu22.04
# Set the working directory in the container
WORKDIR /DocQA
# Install system dependencies, including Python and utilities
RUN apt-get update && apt-get install -y \
git \
python3.10 \
python3-pip \
poppler-utils \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
# Add a new user to avoid running as root
RUN useradd -m -u 1000 user
# Switch to the new user
USER user
ENV HOME=/home/user
ENV PATH=/home/user/.local/bin:/usr/local/cuda/bin:$PATH
# Set the working directory for the application
WORKDIR $HOME/app
# Copy the requirements.txt first to leverage Docker cache
COPY --chown=user requirements.txt $HOME/app/
RUN pip install --no-cache-dir -r requirements.txt
RUN pip uninstall --y faiss-cpu & pip install faiss-gpu
RUN pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu124
# Copy the rest of the application's code to the container
COPY --chown=user . $HOME/app
# Expose the port the app runs on
EXPOSE 8501
# Set the entry point to run the application
ENTRYPOINT ["streamlit", "run", "app.py", "--server.enableXsrfProtection", "false"]
|