From 255fbb3c968d57c0c938ac8b31cd0ab3109d9325 Mon Sep 17 00:00:00 2001 From: Dave Bauman Date: Tue, 23 Jan 2024 07:48:27 -0500 Subject: [PATCH] chore: optimize dockerfile order for caching --- .dockerignore | 3 +++ Dockerfile | 33 ++++++++++++++++----------------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/.dockerignore b/.dockerignore index 419f53fb..58cf1f0f 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,4 +1,7 @@ +.github .DS_Store +docs +kubernetes node_modules /.svelte-kit /package diff --git a/Dockerfile b/Dockerfile index a6260a81..4a23e914 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,7 +26,21 @@ ENV OPENAI_API_KEY "" ENV WEBUI_JWT_SECRET_KEY "SECRET_KEY" -WORKDIR /app +WORKDIR /app/backend + +# install python dependencies +COPY ./backend/requirements.txt ./requirements.txt + +RUN pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu --no-cache-dir +RUN pip3 install -r requirements.txt --no-cache-dir + +# Install pandoc +# RUN python -c "import pypandoc; pypandoc.download_pandoc()" +RUN apt-get update \ + && apt-get install -y pandoc \ + && rm -rf /var/lib/apt/lists/* + +# RUN python -c "from sentence_transformers import SentenceTransformer; model = SentenceTransformer('all-MiniLM-L6-v2')" # copy embedding weight from build RUN mkdir -p /root/.cache/chroma/onnx_models/all-MiniLM-L6-v2 @@ -38,22 +52,7 @@ RUN cd /root/.cache/chroma/onnx_models/all-MiniLM-L6-v2 &&\ # copy built frontend files COPY --from=build /app/build /app/build -WORKDIR /app/backend - -COPY ./backend/requirements.txt ./requirements.txt - -RUN pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu --no-cache-dir -RUN pip3 install -r requirements.txt --no-cache-dir - - -# Install pandoc -# RUN python -c "import pypandoc; pypandoc.download_pandoc()" -RUN apt-get update \ - && apt-get install -y pandoc \ - && rm -rf /var/lib/apt/lists/* - -# RUN python -c "from sentence_transformers import SentenceTransformer; model = SentenceTransformer('all-MiniLM-L6-v2')" - +# copy backend files COPY ./backend . CMD [ "sh", "start.sh"] \ No newline at end of file