|
FROM ubuntu:24.04 |
|
|
|
|
|
ARG USERNAME=mcp_user |
|
ARG USER_UID=1000 |
|
ARG APP_WORKDIR=app_srv |
|
|
|
|
|
WORKDIR /tmp/ |
|
COPY requirements.txt packages.txt ./ |
|
RUN apt-get -y update && apt-get -y upgrade |
|
|
|
RUN apt-get -y install ffmpeg git git-lfs htop iotop libxml2 libopenblas-dev libssl-dev python3-pip python3-wheel python3-setuptools python-is-python3 wget zlib1g net-tools curl |
|
|
|
|
|
RUN wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb \ |
|
&& dpkg -i cuda-keyring_1.1-1_all.deb \ |
|
&& apt-get update \ |
|
&& apt-get -y install cuda-toolkit-12-8 |
|
|
|
ENV PATH=/usr/local/cuda-12.8/bin:${PATH} |
|
ENV LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64:/usr/lib/x86_64-linux-gnu/ |
|
|
|
|
|
RUN wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb \ |
|
&& dpkg -i cuda-keyring_1.1-1_all.deb \ |
|
&& apt-get update \ |
|
&& apt-get -y install cudnn-cuda-12 |
|
|
|
|
|
RUN rm -f /usr/lib/python3.12/EXTERNALLY-MANAGED |
|
|
|
|
|
RUN pip3 install --no-cache-dir torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128 |
|
|
|
|
|
RUN pip3 install --no-cache-dir -r requirements.txt |
|
|
|
|
|
RUN apt-get clean |
|
RUN rm -rf /tmp/* |
|
|
|
|
|
|
|
RUN userdel -r ubuntu || true |
|
|
|
|
|
|
|
RUN useradd -s /bin/bash -m -u $USER_UID $USERNAME |
|
|
|
|
|
USER $USERNAME |
|
|
|
|
|
ENV HOME=/home/$USERNAME \ |
|
PATH=/home/$USERNAME/.local/bin:$PATH |
|
|
|
|
|
RUN mkdir -p $HOME/$APP_WORKDIR |
|
COPY --chown=$USERNAME ./$APP_WORKDIR/* $HOME/$APP_WORKDIR |
|
|
|
|
|
WORKDIR $HOME/$APP_WORKDIR |
|
|
|
|
|
EXPOSE 7860 |
|
ENV GRADIO_SERVER_NAME="0.0.0.0" |
|
|
|
|
|
ENV PYTHONUNBUFFERED=1 |
|
|
|
CMD ["python", "app_srv.py"] |