FROM pytorch/pytorch:2.1.2-cuda11.8-cudnn8-devel # Set environment variables ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install -y --no-install-recommends \ git \ cmake \ build-essential \ libgl1-mesa-glx \ libglib2.0-0 \ ffmpeg \ python3.8 \ python3-pip \ python3.8-dev \ && rm -rf /var/lib/apt/lists/* # Create a symlink for python RUN ln -s /usr/bin/python3 /usr/bin/python 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 \ GRADIO_SHARE=False \ SYSTEM=spaces # Set CUDA_HOME environment variable ENV CUDA_HOME=/usr/local/cuda-11.8 ENV TORCH_CUDA_ARCH_LIST="6.0;6.1;7.0;7.5;8.0;8.6+PTX;8.9;9.0" ENV LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${LD_LIBRARY_PATH} # Set the environment variable to specify the GPU device ENV CUDA_DEVICE_ORDER=PCI_BUS_ID ENV CUDA_VISIBLE_DEVICES=0 # Set the working directory to the user's home directory WORKDIR $HOME/app # Clone the repository (adjust the URL if needed) RUN git clone --recursive https://github.com/jnjaby/KEEP.git . # Copy the app.py script and requirements file into the container COPY --chown=user:user app.py . COPY --chown=user:user requirements_HF.txt . # Install Python dependencies RUN pip install --upgrade pip && \ pip install -r requirements_HF.txt && \ pip install gradio && \ pip install "numpy<1.25,>=1.18" && \ pip install cupy-cuda11x && \ pip install ffmpeg-python dlib # Install basicsr RUN cd basicsr && python setup.py develop # Command to run your application CMD ["python", "app.py"]