|
|
FROM docker.io/nvidia/cuda:12.6.1-devel-ubuntu24.04 |
|
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive |
|
|
ENV TZ=UTC |
|
|
|
|
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \ |
|
|
software-properties-common \ |
|
|
&& add-apt-repository ppa:deadsnakes/ppa |
|
|
|
|
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \ |
|
|
python3.10 \ |
|
|
python3.10-venv \ |
|
|
python3.10-dev \ |
|
|
python3.10-distutils \ |
|
|
python3-pip \ |
|
|
build-essential \ |
|
|
&& rm -rf /var/lib/apt/lists/* |
|
|
|
|
|
|
|
|
RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1 |
|
|
|
|
|
ENV CUDA_HOME=/usr/local/cuda |
|
|
ENV PATH=${CUDA_HOME}/bin:${PATH} |
|
|
ENV LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${LD_LIBRARY_PATH} |
|
|
|
|
|
ARG USER_UID=10002 |
|
|
ARG USER_GID=$USER_UID |
|
|
ARG USERNAME=modelapi |
|
|
|
|
|
RUN groupadd --gid $USER_GID $USERNAME \ |
|
|
&& useradd --uid $USER_UID --gid $USER_GID -m $USERNAME |
|
|
|
|
|
|
|
|
RUN mkdir -p /modelapi && mkdir -p /home/$USERNAME/.modelapi |
|
|
COPY app /modelapi/app |
|
|
COPY sgmse /modelapi/sgmse |
|
|
COPY pyproject.toml /modelapi/pyproject.toml |
|
|
|
|
|
ENV CUDA_HOME=/usr/local/cuda |
|
|
ENV PATH=${CUDA_HOME}/bin:${PATH} |
|
|
ENV LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${LD_LIBRARY_PATH} |
|
|
|
|
|
|
|
|
RUN chown -R $USER_UID:$USER_GID /modelapi \ |
|
|
&& chown -R $USER_UID:$USER_GID /home/$USERNAME/.modelapi \ |
|
|
&& chown -R $USER_UID:$USER_GID /home/$USERNAME \ |
|
|
&& chmod -R 755 /home/$USERNAME \ |
|
|
&& chmod -R 755 /modelapi \ |
|
|
&& chmod -R 755 /home/$USERNAME/.modelapi |
|
|
|
|
|
|
|
|
USER $USERNAME |
|
|
|
|
|
RUN /bin/bash -c "python3 -m venv /modelapi/.venv && source /modelapi/.venv/bin/activate && pip3 install -e /modelapi/." |
|
|
|
|
|
EXPOSE 6500 |
|
|
|
|
|
CMD ["/bin/bash", "-c", "source /modelapi/.venv/bin/activate && python3 /modelapi/app/run.py"] |