FROM pytorch/pytorch:2.7.1-cuda12.6-cudnn9-devel ENV CUDA_HOME=/usr/local/cuda ENV PATH="${CUDA_HOME}/bin:${PATH}" ENV LD_LIBRARY_PATH="${CUDA_HOME}/lib64:${LD_LIBRARY_PATH}" ENV TORCH_CUDA_ARCH_LIST="7.5" ENV USE_CUDA=1 # Verify CUDA setup RUN nvcc --version && which nvcc RUN apt-get update && apt-get install -y \ git fish tmux curl ffmpeg \ libgl1-mesa-glx libglib2.0-0 \ build-essential ninja-build python3.10-venv \ && rm -rf /var/lib/apt/lists/* # Set thread limits ENV OMP_NUM_THREADS=4 ENV MKL_NUM_THREADS=4 ENV NUMEXPR_NUM_THREADS=4 WORKDIR /app # Copy source code (needed for C++ extension builds) COPY . . # Build GroundingDINO C++ extensions (system-level build) # Note: For Gradio SDK, HF manages Python packages via requirements.txt # This Dockerfile only handles system-level setup RUN cd src/GroundingDINO && \ python3 setup.py build_ext --force --inplace || echo "GroundingDINO build failed (non-fatal)" EXPOSE 7860 ENV GRADIO_SERVER_NAME="0.0.0.0" CMD ["python3", "app.py"]