Gaze-LLE / Dockerfile
fffiloni's picture
Update Dockerfile
791a4db verified
raw
history blame
2.77 kB
# Use CUDA base image without CuDNN
FROM nvidia/cuda:12.3.2-runtime-ubuntu22.04
# Set environment variables
ENV DEBIAN_FRONTEND=noninteractive
# Create a user and set environment variables
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
# Set the working directory to the user's home directory
WORKDIR $HOME/app
# Switch to root to install system dependencies
USER root
# Install basic dependencies and add deadsnakes repository for Python 3.9
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
# Install CuDNN 9.3.0
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
# Check NVIDIA packages installed via pip (using || true to prevent non-zero exit)
RUN echo "Checking NVIDIA packages:" && pip list | grep nvidia || true
# Fix permissions for pip cache
RUN mkdir -p /home/user/.cache/pip && chown -R user:user /home/user/.cache
COPY . .
# Install your requirements
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
RUN pip install gradio
# Verify CuDNN installation
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
# Set the environment variable to specify the GPU device
ENV CUDA_DEVICE_ORDER=PCI_BUS_ID
ENV CUDA_VISIBLE_DEVICES=0
# Command to run your application
CMD ["python", "app.py"]