|
FROM nvidia/cuda:12.5.1-cudnn-devel-ubuntu22.04 |
|
|
|
ARG DEBIAN_FRONTEND=noninteractive |
|
|
|
ENV PYTHONUNBUFFERED=1 |
|
|
|
RUN apt-get update && apt-get install -y \ |
|
build-essential \ |
|
python3.9 \ |
|
python3-pip \ |
|
git \ |
|
ffmpeg \ |
|
libcudnn8 \ |
|
libcudnn8-dev \ |
|
sudo |
|
|
|
RUN useradd -m docker && echo "docker:docker" | chpasswd && adduser docker sudo |
|
|
|
|
|
WORKDIR /code |
|
|
|
COPY ./requirements.txt /code/requirements.txt |
|
|
|
|
|
|
|
RUN export LD_LIBRARY_PATH=`python3 -c 'import os; import nvidia.cublas.lib; import nvidia.cudnn.lib; import torch; print(os.path.dirname(nvidia.cublas.lib.__file__) + ":" + os.path.dirname(nvidia.cudnn.lib.__file__) + ":" + os.path.dirname(torch.__file__) +"/lib")'`:$LD_LIBRARY_PATH |
|
|
|
|
|
RUN useradd -m -u 1000 user |
|
|
|
USER user |
|
|
|
ENV HOME=/home/user \ |
|
PATH=/home/user/.local/bin:$PATH \ |
|
PYTHONPATH=$HOME/app \ |
|
PYTHONUNBUFFERED=1 \ |
|
GRADIO_ALLOW_FLAGGING=never \ |
|
GRADIO_NUM_PORTS=1 \ |
|
GRADIO_SERVER_NAME=0.0.0.0 \ |
|
GRADIO_THEME=huggingface \ |
|
SYSTEM=spaces |
|
|
|
RUN export LD_LIBRARY_PATH=`python3 -c 'import os; import nvidia.cublas.lib; import nvidia.cudnn.lib; import torch; print(os.path.dirname(nvidia.cublas.lib.__file__) + ":" + os.path.dirname(nvidia.cudnn.lib.__file__) + ":" + os.path.dirname(torch.__file__) +"/lib")'`:$LD_LIBRARY_PATH |
|
RUN pip3 install --no-cache-dir --upgrade -r /code/requirements.txt |
|
|
|
|
|
WORKDIR $HOME/app |
|
|
|
|
|
COPY --chown=user . $HOME/app |
|
|
|
CMD ["python3", "app.py"] |