|
|
|
|
|
FROM docker.io/nvidia/cuda:12.1.0-devel-ubuntu22.04@sha256:e3a8f7b933e77ecee74731198a2a5483e965b585cea2660675cf4bb152237e9b AS build |
|
|
|
|
|
WORKDIR /usr/src/app |
|
COPY packages.txt . |
|
|
|
ENV CUDA_HOME=/usr/local/cuda \ |
|
TORCH_CUDA_ARCH_LIST="6.0 6.1 7.0 7.5 8.0 8.6+PTX" \ |
|
PYTHONDONTWRITEBYTECODE=1 \ |
|
PYTHONUNBUFFERED=1 |
|
|
|
|
|
|
|
RUN DEBIAN_FRONTEND=noninteractive \ |
|
&& rm -rf /etc/apt/sources.list.d/cuda.list /etc/apt/sources.list.d/nvidia-ml.list \ |
|
&& apt-key del 7fa2af80 \ |
|
&& apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub \ |
|
&& apt-get -yq update \ |
|
&& apt-get install --no-install-recommends -yq \ |
|
apt-transport-https \ |
|
ca-certificates \ |
|
$(cat packages.txt) \ |
|
python3 \ |
|
python3-dev \ |
|
python3-pip \ |
|
python3-venv \ |
|
ffmpeg \ |
|
libsm6 \ |
|
libxext6 \ |
|
&& apt-get clean \ |
|
&& rm -rf /var/lib/apt/lists/* |
|
|
|
|
|
RUN python3 -m venv /opt/venv |
|
ENV PATH="/opt/venv/bin:$PATH" |
|
|
|
|
|
COPY requirements.txt . |
|
COPY gradio_image_prompter-0.1.0-py3-none-any.whl . |
|
RUN --mount=type=cache,id=pip,target=/root/.cache \ |
|
pip install -r requirements.txt |
|
|
|
|
|
WORKDIR /usr/src/app/models/GroundingDINO/ops |
|
COPY models/GroundingDINO/ops . |
|
|
|
|
|
RUN CC=/usr/bin/gcc-11 python3 setup.py build && \ |
|
pip install . |
|
|
|
|
|
|
|
FROM ubuntu:22.04 |
|
|
|
ENV CUDA_HOME=/usr/local/cuda \ |
|
TORCH_CUDA_ARCH_LIST="6.0 6.1 7.0 7.5 8.0 8.6+PTX" \ |
|
PYTHONDONTWRITEBYTECODE=1 \ |
|
PYTHONUNBUFFERED=1 \ |
|
PATH="/opt/venv/bin:/home/user/.local/bin:$PATH" \ |
|
HOME=/home/user |
|
|
|
RUN DEBIAN_FRONTEND=noninteractive apt-get -yq update && apt-get install --no-install-recommends -yq \ |
|
python3 \ |
|
python3-dev \ |
|
python3-pip \ |
|
ffmpeg \ |
|
libsm6 \ |
|
libxext6 \ |
|
&& apt-get clean \ |
|
&& rm -rf /var/lib/apt/lists/* |
|
|
|
WORKDIR /app |
|
RUN useradd -m -u 1000 user && chown -R user /app |
|
|
|
COPY --from=build --chown=user /opt/venv /opt/venv |
|
|
|
COPY --chown=user checkpoints checkpoints |
|
COPY --chown=user checkpoint_best_regular.pth . |
|
COPY --chown=user *.jpg *.JPG ./ |
|
COPY --chown=user datasets datasets |
|
COPY --chown=user groundingdino groundingdino |
|
COPY --chown=user models models |
|
COPY --chown=user util util |
|
COPY --chown=user app.py cfg_app.py ./ |
|
|
|
USER user |
|
|
|
EXPOSE 7860 |
|
ENV GRADIO_SERVER_NAME="0.0.0.0" |
|
|
|
CMD ["/opt/venv/bin/python3", "app.py"] |
|
|