|
|
|
FROM nvidia/cuda:12.3.2-runtime-ubuntu22.04 |
|
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive |
|
|
|
|
|
RUN useradd -m -u 1000 user |
|
USER user |
|
|
|
ENV HOME=/home/user \ |
|
CUDA_HOME=/usr/local/cuda \ |
|
PATH=/home/user/.local/bin:$PATH \ |
|
LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${LD_LIBRARY_PATH} \ |
|
LIBRARY_PATH=${CUDA_HOME}/lib64/stubs:${LIBRARY_PATH} \ |
|
PYTHONPATH=$HOME/app \ |
|
PYTHONUNBUFFERED=1 \ |
|
GRADIO_ALLOW_FLAGGING=never \ |
|
GRADIO_NUM_PORTS=1 \ |
|
GRADIO_SERVER_NAME=0.0.0.0 \ |
|
GRADIO_THEME=huggingface \ |
|
GRADIO_SHARE=False \ |
|
SYSTEM=spaces |
|
|
|
|
|
WORKDIR $HOME/app |
|
|
|
|
|
USER root |
|
|
|
|
|
RUN apt-get update && apt-get install -y \ |
|
wget \ |
|
curl \ |
|
git \ |
|
software-properties-common \ |
|
gnupg \ |
|
libgl1-mesa-glx \ |
|
libglib2.0-0 \ |
|
&& add-apt-repository ppa:deadsnakes/ppa -y \ |
|
&& apt-get update && apt-get install -y \ |
|
python3.9 \ |
|
python3.9-distutils \ |
|
python3.9-dev \ |
|
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python3.9 \ |
|
&& update-alternatives --install /usr/bin/python python /usr/bin/python3.9 1 \ |
|
&& update-alternatives --install /usr/bin/pip pip /usr/local/bin/pip 1 \ |
|
&& apt-get clean |
|
|
|
|
|
RUN apt-get update && apt-get install -y \ |
|
wget \ |
|
&& wget https://developer.download.nvidia.com/compute/cudnn/9.3.0/local_installers/cudnn-local-repo-ubuntu2204-9.3.0_1.0-1_amd64.deb \ |
|
&& dpkg -i cudnn-local-repo-ubuntu2204-9.3.0_1.0-1_amd64.deb \ |
|
&& cp /var/cudnn-local-repo-ubuntu2204-9.3.0/cudnn-local-D9334AA3-keyring.gpg /usr/share/keyrings/ \ |
|
&& apt-get update \ |
|
&& rm cudnn-local-repo-ubuntu2204-9.3.0_1.0-1_amd64.deb |
|
|
|
|
|
RUN echo "Checking NVIDIA packages:" && pip list | grep nvidia || true |
|
|
|
|
|
RUN mkdir -p /home/user/.cache/pip && chown -R user:user /home/user/.cache |
|
|
|
COPY . . |
|
|
|
RUN pip install --upgrade pip |
|
RUN pip install -r requirements.txt |
|
RUN pip install gradio |
|
|
|
|
|
RUN ldconfig && echo "Testing CuDNN installation..." \ |
|
&& if [ -f /usr/local/cuda/include/cudnn.h ]; then \ |
|
echo "CuDNN found in /usr/local/cuda/include/cudnn.h"; \ |
|
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2; \ |
|
fi |
|
|
|
USER user |
|
|
|
|
|
ENV CUDA_DEVICE_ORDER=PCI_BUS_ID |
|
ENV CUDA_VISIBLE_DEVICES=0 |
|
|
|
|
|
CMD ["python", "app.py"] |
|
|