FROM python:3.10-slim # Minimal system deps: ffmpeg for audio remuxing, libgl1/libglib for OpenCV, # build-essential for compiling insightface's C++ extension. RUN apt-get update && apt-get install -y --no-install-recommends \ ffmpeg \ libgl1 \ libglib2.0-0 \ build-essential \ && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . ENV GRADIO_SERVER_NAME=0.0.0.0 ENV GRADIO_SERVER_PORT=7860 EXPOSE 7860 # The pip-installed nvidia-*-cu12 packages (see requirements.txt) ship the # actual CUDA/cuDNN .so files onnxruntime-gpu needs. python:3.10-slim always # installs them to this exact path, so we hardcode it rather than computing # it dynamically at container start. ENV LD_LIBRARY_PATH="/usr/local/lib/python3.10/site-packages/nvidia/cublas/lib:/usr/local/lib/python3.10/site-packages/nvidia/cudnn/lib:/usr/local/lib/python3.10/site-packages/nvidia/cuda_runtime/lib:/usr/local/lib/python3.10/site-packages/nvidia/cuda_nvrtc/lib:/usr/local/lib/python3.10/site-packages/nvidia/cufft/lib:/usr/local/lib/python3.10/site-packages/nvidia/curand/lib:/usr/local/lib/python3.10/site-packages/nvidia/cusolver/lib:/usr/local/lib/python3.10/site-packages/nvidia/cusparse/lib:${LD_LIBRARY_PATH}" CMD ["python", "app.py"]