@@ -13,7 +13,7 @@ ARG TARGETARCH
13
13
ARG TARGETVARIANT
14
14
15
15
ENV DEBIAN_FRONTEND=noninteractive
16
- ENV EXTERNAL_GRPC_BACKENDS="coqui:/build/backend/python/coqui/run.sh,huggingface-embeddings:/build/backend/python/sentencetransformers/run.sh,transformers:/build/backend/python/transformers/run.sh,sentencetransformers:/build/backend/python/sentencetransformers/run.sh,rerankers:/build/backend/python/rerankers/run.sh,autogptq:/build/backend/python/autogptq/run.sh,bark:/build/backend/python/bark/run.sh,diffusers:/build/backend/python/diffusers/run.sh,exllama:/build/backend/python/exllama/run.sh, openvoice:/build/backend/python/openvoice/run.sh,vall-e-x:/build/backend/python/vall-e-x/run.sh,vllm:/build/backend/python/vllm/run.sh,mamba:/build/backend/python/mamba/run.sh,exllama2:/build/backend/python/exllama2/run.sh,transformers-musicgen:/build/backend/python/transformers-musicgen/run.sh,parler-tts:/build/backend/python/parler-tts/run.sh"
16
+ ENV EXTERNAL_GRPC_BACKENDS="coqui:/build/backend/python/coqui/run.sh,huggingface-embeddings:/build/backend/python/sentencetransformers/run.sh,transformers:/build/backend/python/transformers/run.sh,sentencetransformers:/build/backend/python/sentencetransformers/run.sh,rerankers:/build/backend/python/rerankers/run.sh,autogptq:/build/backend/python/autogptq/run.sh,bark:/build/backend/python/bark/run.sh,diffusers:/build/backend/python/diffusers/run.sh,openvoice:/build/backend/python/openvoice/run.sh,vall-e-x:/build/backend/python/vall-e-x/run.sh,vllm:/build/backend/python/vllm/run.sh,mamba:/build/backend/python/mamba/run.sh,exllama2:/build/backend/python/exllama2/run.sh,transformers-musicgen:/build/backend/python/transformers-musicgen/run.sh,parler-tts:/build/backend/python/parler-tts/run.sh"
17
17
18
18
19
19
RUN apt-get update && \
@@ -263,14 +263,20 @@ EOT
263
263
# In most cases, builder is the image you should be using - however, this can save build time if one just needs to copy backend-assets/grpc/stablediffusion and nothing else.
264
264
FROM builder-base AS builder-sd
265
265
266
- COPY . .
267
- COPY .git .
268
-
269
- RUN make prepare
270
-
271
-
272
- # stablediffusion does not tolerate a newer version of abseil, build it first
273
- RUN GRPC_BACKENDS=backend-assets/grpc/stablediffusion make build
266
+ # stablediffusion does not tolerate a newer version of abseil, copy only over enough elements to build it
267
+ COPY Makefile .
268
+ COPY go.mod .
269
+ COPY go.sum .
270
+ COPY backend/backend.proto ./backend/backend.proto
271
+ COPY backend/go/image/stablediffusion ./backend/go/image/stablediffusion
272
+ COPY pkg/grpc ./pkg/grpc
273
+ COPY pkg/stablediffusion ./pkg/stablediffusion
274
+ RUN git init
275
+ RUN make sources/go-stable-diffusion
276
+ RUN touch prepare-sources
277
+
278
+ # Actually build the backend
279
+ RUN GRPC_BACKENDS=backend-assets/grpc/stablediffusion make backend-assets/grpc/stablediffusion
274
280
275
281
# ##################################
276
282
# ##################################
@@ -285,6 +291,11 @@ COPY --from=grpc /opt/grpc /usr/local
285
291
# Rebuild with defaults backends
286
292
WORKDIR /build
287
293
294
+ COPY . .
295
+ COPY .git .
296
+
297
+ RUN make prepare
298
+
288
299
# # Build the binary
289
300
# # If it's CUDA, we want to skip some of the llama-compat backends to save space
290
301
# # We only leave the most CPU-optimized variant and the fallback for the cublas build
@@ -407,9 +418,6 @@ RUN if [[ ( "${EXTRA_BACKENDS}" =~ "coqui" || -z "${EXTRA_BACKENDS}" ) && "$IMAG
407
418
; fi && \
408
419
if [[ ( "${EXTRA_BACKENDS}" =~ "transformers-musicgen" || -z "${EXTRA_BACKENDS}" ) && "$IMAGE_TYPE" == "extras" ]]; then \
409
420
make -C backend/python/transformers-musicgen \
410
- ; fi && \
411
- if [[ ( "${EXTRA_BACKENDS}" =~ "exllama1" || -z "${EXTRA_BACKENDS}" ) && "$IMAGE_TYPE" == "extras" ]]; then \
412
- make -C backend/python/exllama \
413
421
; fi
414
422
415
423
RUN if [[ ( "${EXTRA_BACKENDS}" =~ "vall-e-x" || -z "${EXTRA_BACKENDS}" ) && "$IMAGE_TYPE" == "extras" ]]; then \
0 commit comments