mirror of
https://github.com/AbdBarho/stable-diffusion-webui-docker.git
synced 2024-11-25 22:03:06 +03:00
Merge 5a8e6dccd9
into b1a26b8041
This commit is contained in:
commit
17f00b9893
@ -34,6 +34,14 @@ This repository provides multiple UIs for you to play around with stable diffusi
|
||||
| -------------------------------------------------------------------------------- |
|
||||
| ![](https://github.com/comfyanonymous/ComfyUI/raw/master/comfyui_screenshot.png) |
|
||||
|
||||
### [Fooocus](https://github.com/comfyanonymous/ComfyUI)
|
||||
|
||||
[Full feature list here](https://github.com/lllyasviel/Fooocus#fooocus), Screenshot:
|
||||
|
||||
| Simplified UI |
|
||||
| -------------------------------------------------------------------------------- |
|
||||
| ![](https://github.com/lllyasviel/Fooocus/assets/19834515/483fb86d-c9a2-4c20-997c-46dafc124f25) |
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions are welcome! **Create a discussion first of what the problem is and what you want to contribute (before you implement anything)**
|
||||
|
@ -69,3 +69,11 @@ services:
|
||||
deploy: {}
|
||||
environment:
|
||||
- CLI_ARGS=--cpu
|
||||
|
||||
fooocus: &fooocus
|
||||
<<: *base_service
|
||||
profiles: ["fooocus"]
|
||||
build: ./services/fooocus/
|
||||
image: sd-fooocus:3
|
||||
environment:
|
||||
- CLI_ARGS=
|
47
services/fooocus/Dockerfile
Normal file
47
services/fooocus/Dockerfile
Normal file
@ -0,0 +1,47 @@
|
||||
FROM alpine:3.17 as xformers
|
||||
RUN apk add --no-cache aria2
|
||||
RUN aria2c -x 5 --dir / --out wheel.whl 'https://github.com/AbdBarho/stable-diffusion-webui-docker/releases/download/6.0.0/xformers-0.0.21.dev544-cp310-cp310-manylinux2014_x86_64-pytorch201.whl'
|
||||
|
||||
FROM pytorch/pytorch:2.0.1-cuda11.7-cudnn8-runtime
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive PIP_PREFER_BINARY=1
|
||||
|
||||
RUN apt-get update && apt-get install -y git && apt-get clean
|
||||
|
||||
# add in required packages
|
||||
RUN apt-get install 'libglib2.0-0' -y
|
||||
RUN apt-get install 'libgl1-mesa-glx' -y
|
||||
RUN apt-get install 'python-dev' -y
|
||||
|
||||
# set this to your target branch commit
|
||||
ARG BRANCH=main SHA=e2f9bcb11d06216d6800676c48d8d74d6fd77a4b
|
||||
|
||||
ENV ROOT=/stable-diffusion
|
||||
RUN --mount=type=cache,target=/root/.cache/pip \
|
||||
git clone https://github.com/lllyasviel/Fooocus.git ${ROOT} && \
|
||||
cd ${ROOT} && \
|
||||
git checkout ${BRANCH} && \
|
||||
git reset --hard ${SHA} && \
|
||||
pip install -r requirements_versions.txt
|
||||
|
||||
|
||||
RUN --mount=type=cache,target=/root/.cache/pip \
|
||||
--mount=type=bind,from=xformers,source=/wheel.whl,target=/xformers-0.0.21-cp310-cp310-linux_x86_64.whl \
|
||||
pip install /xformers-0.0.21-cp310-cp310-linux_x86_64.whl
|
||||
|
||||
WORKDIR ${ROOT}
|
||||
|
||||
RUN --mount=type=cache,target=/root/.cache/pip \
|
||||
git fetch && \
|
||||
git checkout ${BRANCH} && \
|
||||
git reset --hard ${SHA} && \
|
||||
pip install -r requirements_versions.txt
|
||||
|
||||
# add info
|
||||
COPY . /docker/
|
||||
RUN cp /docker/config.txt ${ROOT}
|
||||
RUN chmod u+x /docker/entrypoint.sh
|
||||
|
||||
EXPOSE 7860
|
||||
ENTRYPOINT ["/docker/entrypoint.sh"]
|
||||
CMD python -u entry_with_update.py --listen --port 7860 ${CLI_ARGS}
|
12
services/fooocus/config.txt
Normal file
12
services/fooocus/config.txt
Normal file
@ -0,0 +1,12 @@
|
||||
{
|
||||
"path_checkpoints": "/stable-diffusion/models/checkpoints",
|
||||
"path_loras": "/stable-diffusion/models/loras",
|
||||
"path_embeddings": "/stable-diffusion/models/embeddings",
|
||||
"path_vae_approx": "/stable-diffusion/models/vae_approx",
|
||||
"path_upscale_models": "/stable-diffusion/models/upscale_models",
|
||||
"path_inpaint": "/stable-diffusion/models/inpaint",
|
||||
"path_controlnet": "/stable-diffusion/models/controlnet",
|
||||
"path_clip_vision": "/stable-diffusion/models/clip_vision",
|
||||
"path_fooocus_expansion": "/stable-diffusion/models/prompt_expansion/fooocus_expansion",
|
||||
"path_outputs": "/stable-diffusion/outputs"
|
||||
}
|
33
services/fooocus/entrypoint.sh
Normal file
33
services/fooocus/entrypoint.sh
Normal file
@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -Eeuo pipefail
|
||||
|
||||
mkdir -vp /data/config/fooocus/wildcards
|
||||
|
||||
declare -A MOUNTS
|
||||
|
||||
MOUNTS["${ROOT}/outputs"]="/output/fooocus"
|
||||
|
||||
# ui specific mounts
|
||||
MOUNTS["${ROOT}/models/checkpoints"]=/data/models/Stable-diffusion/
|
||||
MOUNTS["${ROOT}/models/loras"]=/data/models/Lora/
|
||||
MOUNTS["${ROOT}/models/embeddings"]=/data/models/embeddings/
|
||||
MOUNTS["${ROOT}/models/vae_approx"]=/data/models/VAE/
|
||||
MOUNTS["${ROOT}/models/upscale_models"]=/data/models/upscale_models/
|
||||
MOUNTS["${ROOT}/wildcards"]=/data/config/fooocus/wildcards
|
||||
|
||||
for to_path in "${!MOUNTS[@]}"; do
|
||||
set -Eeuo pipefail
|
||||
from_path="${MOUNTS[${to_path}]}"
|
||||
rm -rf "${to_path}"
|
||||
mkdir -p "$(dirname "${to_path}")"
|
||||
# ends with slash, make it!
|
||||
if [[ "$from_path" == */ ]]; then
|
||||
mkdir -vp "$from_path"
|
||||
fi
|
||||
|
||||
ln -sT "${from_path}" "${to_path}"
|
||||
echo Mounted $(basename "${from_path}")
|
||||
done
|
||||
|
||||
exec "$@"
|
Loading…
Reference in New Issue
Block a user