mirror of
				https://github.com/AbdBarho/stable-diffusion-webui-docker.git
				synced 2025-11-04 03:03:14 -05:00 
			
		
		
		
	Merge 5a8e6dccd9 into f1bf3b0943
				
					
				
			This commit is contained in:
		@@ -34,6 +34,14 @@ This repository provides multiple UIs for you to play around with stable diffusi
 | 
			
		||||
| -------------------------------------------------------------------------------- |
 | 
			
		||||
|  |
 | 
			
		||||
 | 
			
		||||
### [Fooocus](https://github.com/comfyanonymous/ComfyUI)
 | 
			
		||||
 | 
			
		||||
[Full feature list here](https://github.com/lllyasviel/Fooocus#fooocus), Screenshot:
 | 
			
		||||
 | 
			
		||||
| Simplified UI                                                                    |
 | 
			
		||||
| -------------------------------------------------------------------------------- |
 | 
			
		||||
|  |
 | 
			
		||||
 | 
			
		||||
## 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 "$@"
 | 
			
		||||
		Reference in New Issue
	
	Block a user