diff --git a/docker-build/Dockerfile b/docker-build/Dockerfile index 353a02b50c..4aaf0c5d07 100644 --- a/docker-build/Dockerfile +++ b/docker-build/Dockerfile @@ -15,9 +15,9 @@ RUN apt-get update \ && rm -rf /var/lib/apt/lists/* # set WORKDIR, PATH and copy sources -ARG WORKDIR=/usr/src/app -WORKDIR ${WORKDIR} -ENV PATH ${WORKDIR}/.venv/bin:$PATH +ARG APPDIR=/usr/src/app +WORKDIR ${APPDIR} +ENV PATH ${APPDIR}/.venv/bin:$PATH ARG PIP_REQUIREMENTS=requirements-lin-cuda.txt COPY . ./environments-and-requirements/${PIP_REQUIREMENTS} ./ @@ -26,8 +26,6 @@ RUN python3 -m venv .venv \ && pip install \ --upgrade \ --no-cache-dir \ - 'pip>=22.3.1' \ - 'setuptools>=65.5.0' \ 'wheel>=0.38.4' \ && pip install \ --no-cache-dir \ @@ -35,6 +33,15 @@ RUN python3 -m venv .venv \ FROM python:3.10-slim AS runtime +# setup environment +ARG APPDIR=/usr/src/app +WORKDIR ${APPDIR} +COPY --from=builder ${APPDIR} . +ENV \ + PATH=${APPDIR}/.venv/bin:$PATH \ + INVOKEAI_ROOT=/data \ + INVOKE_MODEL_RECONFIGURE=--yes + # Install necesarry packages RUN apt-get update \ && apt-get install -y \ @@ -43,24 +50,16 @@ RUN apt-get update \ libgl1-mesa-glx=20.3.* \ libglib2.0-0=2.66.* \ libopencv-dev=4.5.* \ - python3-opencv=4.5.* \ - && apt-get clean \ + && ln -sf \ + /usr/lib/"$(arch)"-linux-gnu/pkgconfig/opencv4.pc \ + /usr/lib/"$(arch)"-linux-gnu/pkgconfig/opencv.pc \ + && python3 -c "from patchmatch import patch_match" \ + && apt-get remove -y \ + --autoremove \ + build-essential \ + && apt-get autoclean \ && rm -rf /var/lib/apt/lists/* -# setup environment -ARG WORKDIR=/usr/src/app -WORKDIR ${WORKDIR} -COPY --from=builder ${WORKDIR} . -ENV PATH=${WORKDIR}/.venv/bin:$PATH -ENV INVOKEAI_ROOT /data -ENV INVOKE_MODEL_RECONFIGURE --yes - -# Initialize patchmatch -RUN ln -sf \ - /usr/lib/"$(arch)"-linux-gnu/pkgconfig/opencv4.pc \ - /usr/lib/"$(arch)"-linux-gnu/pkgconfig/opencv.pc \ - && python3 -c "from patchmatch import patch_match" - # set Entrypoint and default CMD ENTRYPOINT [ "python3", "scripts/invoke.py" ] CMD [ "--web", "--host=0.0.0.0" ] diff --git a/docker-build/env.sh b/docker-build/env.sh index a9021b484d..af1499879f 100644 --- a/docker-build/env.sh +++ b/docker-build/env.sh @@ -6,4 +6,5 @@ VOLUMENAME=${VOLUMENAME:-${REPOSITORY_NAME,,}_data} ARCH=${ARCH:-$(arch)} PLATFORM=${PLATFORM:-Linux/${ARCH}} CONTAINER_FLAVOR=${CONTAINER_FLAVOR:-cuda} -INVOKEAI_TAG=${REPOSITORY_NAME,,}-${CONTAINER_FLAVOR}:${INVOKEAI_TAG:-latest} +INVOKEAI_BRANCH=$(git branch --show) +INVOKEAI_TAG=${REPOSITORY_NAME,,}-${CONTAINER_FLAVOR}:${INVOKEAI_TAG:-${INVOKEAI_BRANCH/\//-}}