parent
9ac33db795
commit
7fb8b97b90
@ -39,14 +39,21 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- CLI_ARGS=--no-half --precision full --allow-code --enable-insecure-extension-access --api
|
- CLI_ARGS=--no-half --precision full --allow-code --enable-insecure-extension-access --api
|
||||||
|
|
||||||
invoke:
|
invoke: &invoke
|
||||||
<<: *base_service
|
<<: *base_service
|
||||||
profiles: ["invoke"]
|
profiles: ["invoke"]
|
||||||
build: ./services/invoke/
|
build: ./services/invoke/
|
||||||
image: sd-invoke:27
|
image: sd-invoke:28
|
||||||
environment:
|
environment:
|
||||||
- PRELOAD=true
|
- PRELOAD=true
|
||||||
- CLI_ARGS=--no-nsfw_checker --no-safety_checker --xformers
|
- CLI_ARGS=--xformers
|
||||||
|
|
||||||
|
# invoke-cpu:
|
||||||
|
# <<: *invoke
|
||||||
|
# profiles: ["invoke-cpu"]
|
||||||
|
# environment:
|
||||||
|
# - PRELOAD=true
|
||||||
|
# - CLI_ARGS=--always_use_cpu
|
||||||
|
|
||||||
sygil: &sygil
|
sygil: &sygil
|
||||||
<<: *base_service
|
<<: *base_service
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
FROM alpine:3.17 as xformers
|
FROM alpine:3.17 as xformers
|
||||||
RUN apk add --no-cache aria2
|
RUN apk add --no-cache aria2
|
||||||
RUN aria2c -x 5 --dir / --out wheel.whl 'https://github.com/AbdBarho/stable-diffusion-webui-docker/releases/download/5.0.0/xformers-0.0.17.dev449-cp310-cp310-manylinux2014_x86_64.whl'
|
RUN aria2c -x 5 --dir / --out wheel.whl 'https://github.com/AbdBarho/stable-diffusion-webui-docker/releases/download/5.0.3/xformers-0.0.20.dev528-cp310-cp310-manylinux2014_x86_64-pytorch1.13.whl'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -22,27 +22,26 @@ RUN --mount=type=cache,target=/var/cache/apt \
|
|||||||
ln -sf opencv4.pc opencv.pc
|
ln -sf opencv4.pc opencv.pc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ENV ROOT=/InvokeAI
|
ENV ROOT=/InvokeAI
|
||||||
RUN git clone https://github.com/invoke-ai/InvokeAI.git ${ROOT}
|
RUN git clone https://github.com/invoke-ai/InvokeAI.git ${ROOT}
|
||||||
WORKDIR ${ROOT}
|
WORKDIR ${ROOT}
|
||||||
|
|
||||||
RUN --mount=type=cache,target=/root/.cache/pip \
|
RUN --mount=type=cache,target=/root/.cache/pip \
|
||||||
git reset --hard 4463124bddd221c333d4c70e73aa2949ad35453d && \
|
git reset --hard 4463124bddd221c333d4c70e73aa2949ad35453d && \
|
||||||
pip install .
|
pip install -e .
|
||||||
|
|
||||||
|
|
||||||
ARG BRANCH=main SHA=50eb02f68be912276a9c106d5e8038a5671a0386
|
ARG BRANCH=main SHA=d73f1c363c3f2fe00f14ed34e276b4366b32a886
|
||||||
RUN --mount=type=cache,target=/root/.cache/pip \
|
RUN --mount=type=cache,target=/root/.cache/pip \
|
||||||
git fetch && \
|
git fetch && \
|
||||||
git reset --hard && \
|
git reset --hard && \
|
||||||
git checkout ${BRANCH} && \
|
git checkout ${BRANCH} && \
|
||||||
git reset --hard ${SHA} && \
|
git reset --hard ${SHA} && \
|
||||||
pip install -U .
|
pip install -U -e .
|
||||||
|
|
||||||
RUN --mount=type=cache,target=/root/.cache/pip \
|
RUN --mount=type=cache,target=/root/.cache/pip \
|
||||||
--mount=type=bind,from=xformers,source=/wheel.whl,target=/xformers-0.0.17-cp310-cp310-linux_x86_64.whl \
|
--mount=type=bind,from=xformers,source=/wheel.whl,target=/xformers-0.0.20-cp310-cp310-linux_x86_64.whl \
|
||||||
pip install -U opencv-python-headless triton /xformers-0.0.17-cp310-cp310-linux_x86_64.whl && \
|
pip install -U opencv-python-headless triton /xformers-0.0.20-cp310-cp310-linux_x86_64.whl && \
|
||||||
python3 -c "from patchmatch import patch_match"
|
python3 -c "from patchmatch import patch_match"
|
||||||
|
|
||||||
|
|
||||||
@ -54,5 +53,7 @@ ENV PYTHONUNBUFFERED=1 PRELOAD=false HF_HOME=/root/.cache/huggingface CONFIG_DIR
|
|||||||
EXPOSE 7860
|
EXPOSE 7860
|
||||||
|
|
||||||
ENTRYPOINT ["/docker/entrypoint.sh"]
|
ENTRYPOINT ["/docker/entrypoint.sh"]
|
||||||
CMD invokeai --web --host 0.0.0.0 --port 7860 --root_dir ${ROOT} --config ${CONFIG_DIR}/models.yaml --outdir /output/invoke ${CLI_ARGS}
|
CMD invokeai --web --host 0.0.0.0 --port 7860 --root_dir ${ROOT} --config ${CONFIG_DIR}/models.yaml \
|
||||||
# TODO: make sure the config is persisted between sessions
|
--outdir /output/invoke --embedding_directory /data/embeddings/ --lora_directory /data/Lora \
|
||||||
|
--no-nsfw_checker --no-safety_checker ${CLI_ARGS}
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ set -Eeuo pipefail
|
|||||||
|
|
||||||
declare -A MOUNTS
|
declare -A MOUNTS
|
||||||
|
|
||||||
mkdir -p ${CONFIG_DIR}
|
mkdir -p ${CONFIG_DIR} ${ROOT}/configs/stable-diffusion/
|
||||||
|
|
||||||
# cache
|
# cache
|
||||||
MOUNTS["/root/.cache"]=/data/.cache/
|
MOUNTS["/root/.cache"]=/data/.cache/
|
||||||
@ -20,8 +20,6 @@ MOUNTS["${ROOT}/models/realesrgan"]=/data/RealESRGAN/
|
|||||||
|
|
||||||
MOUNTS["${ROOT}/models/ldm"]=/data/.cache/invoke/ldm/
|
MOUNTS["${ROOT}/models/ldm"]=/data/.cache/invoke/ldm/
|
||||||
|
|
||||||
MOUNTS["${ROOT}/embeddings"]=/data/embeddings/
|
|
||||||
|
|
||||||
# hacks
|
# hacks
|
||||||
|
|
||||||
for to_path in "${!MOUNTS[@]}"; do
|
for to_path in "${!MOUNTS[@]}"; do
|
||||||
|
Loading…
Reference in New Issue
Block a user