|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FROM nvidia/cuda:12.1.0-cudnn8-runtime-ubuntu20.04 |
|
|
|
|
|
|
|
|
ENV PYTHONDONTWRITEBYTECODE=1 \ |
|
|
PYTHONUNBUFFERED=1 \ |
|
|
DEBIAN_FRONTEND=noninteractive |
|
|
|
|
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \ |
|
|
python3.10 python3.10-dev python3-pip python3.10-venv \ |
|
|
git wget curl build-essential cmake pkg-config \ |
|
|
ffmpeg libsm6 libxext6 libfontconfig1 libxrender1 \ |
|
|
libgl1-mesa-glx libglib2.0-0 \ |
|
|
libavformat-dev libavcodec-dev libavdevice-dev \ |
|
|
libavutil-dev libswscale-dev libswresample-dev libavfilter-dev \ |
|
|
&& apt-get clean \ |
|
|
&& rm -rf /var/lib/apt/lists/* |
|
|
|
|
|
|
|
|
WORKDIR /app |
|
|
|
|
|
|
|
|
RUN useradd -m -u 1000 appuser && chown -R appuser:appuser /app |
|
|
USER appuser |
|
|
|
|
|
|
|
|
RUN python3.10 -m pip install --no-cache-dir --user pip setuptools wheel |
|
|
|
|
|
|
|
|
COPY --chown=appuser:appuser requirements.txt . |
|
|
|
|
|
|
|
|
RUN python3.10 -m pip install --no-cache-dir --user \ |
|
|
torch==2.1.0 \ |
|
|
torchvision==0.16.0 \ |
|
|
torchaudio==2.1.0 \ |
|
|
--extra-index-url https://download.pytorch.org/whl/cu121 |
|
|
|
|
|
|
|
|
RUN python3.10 -m pip install --no-cache-dir --user \ |
|
|
numpy==1.26.4 \ |
|
|
opencv-python-headless==4.10.0.84 \ |
|
|
Pillow>=10.0.1,<11.0 \ |
|
|
scipy==1.13.1 \ |
|
|
av==12.1.0 |
|
|
|
|
|
|
|
|
RUN python3.10 -m pip install --no-cache-dir --user -r requirements.txt |
|
|
|
|
|
|
|
|
ENV PATH="/home/appuser/.local/bin:$PATH" |
|
|
|
|
|
|
|
|
COPY --chown=appuser:appuser . . |
|
|
|
|
|
|
|
|
RUN mkdir -p /tmp/model_cache /tmp/processing /tmp/jobs && \ |
|
|
chmod 755 /tmp/model_cache /tmp/processing /tmp/jobs |
|
|
|
|
|
|
|
|
ENV GRADIO_SERVER_NAME="0.0.0.0" \ |
|
|
GRADIO_SERVER_PORT="7860" \ |
|
|
MODEL_CACHE_DIR="/tmp/model_cache" \ |
|
|
TORCH_HOME="/tmp/model_cache" |
|
|
|
|
|
|
|
|
HEALTHCHECK --interval=30s --timeout=30s --start-period=5s --retries=3 \ |
|
|
CMD curl -f http://localhost:7860/ || exit 1 |
|
|
|
|
|
|
|
|
EXPOSE 7860 |
|
|
|
|
|
|
|
|
CMD ["python3.10", "app.py"] |