mirror of
				https://github.com/AbdBarho/stable-diffusion-webui-docker.git
				synced 2025-10-31 02:03:32 -04:00 
			
		
		
		
	Compare commits
	
		
			9 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 6c0c610f27 | ||
|  | dc730b7f6b | ||
|  | 15952906a1 | ||
|  | 4aaf38970a | ||
|  | 61bd38dfe4 | ||
|  | bec4997639 | ||
|  | 44903ca3aa | ||
|  | af409daa0e | ||
|  | 19f9402076 | 
							
								
								
									
										25
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								README.md
									
									
									
									
									
								
							| @@ -4,6 +4,14 @@ Run Stable Diffusion on your machine with a nice UI without any hassle! | |||||||
|  |  | ||||||
| This repository provides the [WebUI](https://github.com/hlky/stable-diffusion-webui) as docker for easy setup and deployment. Please note that this repo delivers all cutting-edge unstable changes from the WebUI, so expect some bugs. | This repository provides the [WebUI](https://github.com/hlky/stable-diffusion-webui) as docker for easy setup and deployment. Please note that this repo delivers all cutting-edge unstable changes from the WebUI, so expect some bugs. | ||||||
|  |  | ||||||
|  | ### Features | ||||||
|  |  | ||||||
|  | - Interactive UI with many features, and more on the way! | ||||||
|  | - Support for 6GB GPU cards. | ||||||
|  | - GFPGAN for face reconstruction, RealESRGAN for super-sampling. | ||||||
|  | - [Textual Inversion](https://github.com/hlky/sd-enable-textual-inversion) | ||||||
|  | - many more! | ||||||
|  |  | ||||||
| ## Setup | ## Setup | ||||||
|  |  | ||||||
| make sure you have docker installed and up to date. Download this repo and run: | make sure you have docker installed and up to date. Download this repo and run: | ||||||
| @@ -14,9 +22,9 @@ docker compose build | |||||||
|  |  | ||||||
| you can let it build in the background while you download the different models | you can let it build in the background while you download the different models | ||||||
|  |  | ||||||
| - [Stable Diffusion v1.4 (4GB)](https://drive.yerf.org/wl/?id=EBfTrmcCCUAGaQBXVIj5lJmEhjoP1tgl), rename to `model.ckpt` | - [Stable Diffusion v1.4 (4GB)](https://www.googleapis.com/storage/v1/b/aai-blog-files/o/sd-v1-4.ckpt?alt=media), rename to `model.ckpt` | ||||||
| - (Optional) [GFPGANv1.3.pth (333MB)](https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth) to improve generated faces. | - (Optional) [GFPGANv1.3.pth (333MB)](https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth). | ||||||
| - (Optional) [RealESRGAN_x4plus.pth (64MB)](https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth) and [RealESRGAN_x4plus_anime_6B.pth (18MB)](https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth) for super-sampling. | - (Optional) [RealESRGAN_x4plus.pth (64MB)](https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth) and [RealESRGAN_x4plus_anime_6B.pth (18MB)](https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth). | ||||||
|  |  | ||||||
| Put all of the downloaded files in the `models` folder, it should look something like this: | Put all of the downloaded files in the `models` folder, it should look something like this: | ||||||
|  |  | ||||||
| @@ -42,10 +50,15 @@ Note: the first start will take sometime as some other models will be downloaded | |||||||
|  |  | ||||||
| ## Config | ## Config | ||||||
|  |  | ||||||
| in the `docker-compose.yml` you can change the `CLI_ARGS` variable contains all of the variables that will be passed to [the web ui](https://github.com/hlky/stable-diffusion-webui/blob/49e6178fd82ca736f9bbc621c6b12487c300e493/webui.py). | in the `docker-compose.yml` you can change the `CLI_ARGS` variable, which contains all of the arguments that will be passed to the WebUI. By default: `--extra-models-cpu --optimized-turbo` are given, which allow you to use this model on a 6GB GPU. However, some features might not be available in the mode. | ||||||
|  |  | ||||||
| By default: `--gfpgan-gpu 0 --esrgan-cpu --optimized-turbo` are given, which allow you to use this model on a 6GB GPU. | [You can find the full list of arguments here](https://github.com/hlky/stable-diffusion/blob/ff8c2d0b709f1e4180fb19fa5c27ec28c414cedd/scripts/webui.py) | ||||||
| NOTE: GFPGAN does not work on the CPU [More info here](https://github.com/AbdBarho/stable-diffusion-webui-docker/issues/4) |  | ||||||
|  | ## FAQ | ||||||
|  |  | ||||||
|  | - To enable [Textual Inversion](https://github.com/hlky/sd-enable-textual-inversion) remove `--optimize` and `--optimize-turbo` flags and add `--no-half`, [more info here](https://github.com/AbdBarho/stable-diffusion-webui-docker/issues/6). | ||||||
|  | - [The Application Freezes When Trying Batch Sizes Higher Than One](https://github.com/AbdBarho/stable-diffusion-webui-docker/issues/12) | ||||||
|  | - [Output is a green imagee](https://github.com/hlky/stable-diffusion-webui/issues/34) | ||||||
|  |  | ||||||
| # Disclaimer | # Disclaimer | ||||||
|  |  | ||||||
|   | |||||||
| @@ -5,35 +5,35 @@ FROM continuumio/miniconda3:4.12.0 | |||||||
|  |  | ||||||
| RUN conda install python=3.8.5 && conda clean -a -y | RUN conda install python=3.8.5 && conda clean -a -y | ||||||
| RUN conda install pytorch==1.11.0 torchvision==0.12.0 cudatoolkit=11.3 -c pytorch && conda clean -a -y | RUN conda install pytorch==1.11.0 torchvision==0.12.0 cudatoolkit=11.3 -c pytorch && conda clean -a -y | ||||||
| RUN git clone https://github.com/hlky/stable-diffusion.git && cd stable-diffusion && git reset --hard 554bd068e6f2f6bc55449a67fe017ddd77090f28 | RUN git clone https://github.com/hlky/stable-diffusion.git && cd stable-diffusion && git reset --hard ff8c2d0b709f1e4180fb19fa5c27ec28c414cedd | ||||||
| RUN conda env update --file stable-diffusion/environment.yaml --name base && conda clean -a -y | RUN conda env update --file stable-diffusion/environment.yaml --name base && conda clean -a -y | ||||||
|  |  | ||||||
| # fonts for generating the grid | # fonts for generating the grid | ||||||
| RUN apt-get update && apt install fonts-dejavu-core && apt-get clean | RUN apt-get update && apt install fonts-dejavu-core rsync -y && apt-get clean | ||||||
|  |  | ||||||
| # Note: don't update the sha of previous versions because the install will take forever | # Note: don't update the sha of previous versions because the install will take forever | ||||||
| # instead, update the repo state in a later step | # instead, update the repo state in a later step | ||||||
| RUN cd stable-diffusion && git pull && git reset --hard c0c2a7c0d55561cfb6f42a3681346b9b70749ff1 && \ | # RUN cd stable-diffusion && git pull && git reset --hard ff8c2d0b709f1e4180fb19fa5c27ec28c414cedd && \ | ||||||
|   conda env update --file environment.yaml --name base && conda clean -a -y | #   conda env update --file environment.yaml --name base && conda clean -a -y | ||||||
|  |  | ||||||
| # download dev UI version, update the sha below in case you want some other version | # download dev UI version, update the sha below in case you want some other version | ||||||
| RUN <<EOF | # RUN <<EOF | ||||||
| git clone https://github.com/hlky/stable-diffusion-webui.git | # git clone https://github.com/hlky/stable-diffusion-webui.git | ||||||
| cd stable-diffusion-webui | # cd stable-diffusion-webui | ||||||
| # map to this file: https://github.com/hlky/stable-diffusion-webui/blob/master/.github/sync.yml | # # map to this file: https://github.com/hlky/stable-diffusion-webui/blob/master/.github/sync.yml | ||||||
| git reset --hard 49e6178fd82ca736f9bbc621c6b12487c300e493 | # git reset --hard 49e6178fd82ca736f9bbc621c6b12487c300e493 | ||||||
| cp -t /stable-diffusion/scripts/ webui.py relauncher.py txt2img.yaml | # cp -t /stable-diffusion/scripts/ webui.py relauncher.py txt2img.yaml | ||||||
| cp -t /stable-diffusion/configs/webui webui.yaml | # cp -t /stable-diffusion/configs/webui webui.yaml | ||||||
| cp -t /stable-diffusion/frontend/ frontend/* | # cp -t /stable-diffusion/frontend/ frontend/* | ||||||
| cd / && rm -rf stable-diffusion-webui |  | ||||||
| EOF |  | ||||||
|  |  | ||||||
| # For testing different versions: |  | ||||||
| # RUN git clone https://github.com/AbdBarho/stable-diffusion-webui.git && cd stable-diffusion-webui && \ |  | ||||||
| #   git checkout respect-cli-params &&\ |  | ||||||
| #   cp -t /stable-diffusion/scripts/ txt2img.yaml webui.py webui.yaml webui_playground.py && \ |  | ||||||
| # cd / && rm -rf stable-diffusion-webui | # cd / && rm -rf stable-diffusion-webui | ||||||
|  | # EOF | ||||||
|  |  | ||||||
|  | # Textual-inversion: | ||||||
|  | RUN <<EOF | ||||||
|  | git clone https://github.com/hlky/sd-enable-textual-inversion.git && | ||||||
|  | cd /sd-enable-textual-inversion && git reset --hard 08f9b5046552d17cf7327b30a98410222741b070 && | ||||||
|  | rsync -a /sd-enable-textual-inversion/ /stable-diffusion/ | ||||||
|  | EOF | ||||||
|  |  | ||||||
| # add info | # add info | ||||||
| COPY info.py /info.py | COPY info.py /info.py | ||||||
| @@ -52,7 +52,7 @@ CMD \ | |||||||
|   test -f "/models/${name}" && mkdir -p "${base}" && ln -sf "/models/${name}" "${path}" && echo "Mounted ${name}";\ |   test -f "/models/${name}" && mkdir -p "${base}" && ln -sf "/models/${name}" "${path}" && echo "Mounted ${name}";\ | ||||||
|   done;\ |   done;\ | ||||||
|   # force facexlib cache |   # force facexlib cache | ||||||
|   mkdir -p /cache/weights/ && rm -rf /opt/conda/lib/python3.8/site-packages/facexlib/weights && \ |   mkdir -p /cache/weights/ && rm -rf /stable-diffusion/src/facexlib/facexlib/weights && \ | ||||||
|   ln -sf  /cache/weights/ /opt/conda/lib/python3.8/site-packages/facexlib/ && \ |   ln -sf  /cache/weights/ /stable-diffusion/src/facexlib/facexlib/ && \ | ||||||
|   # run, -u to not buffer stdout / stderr |   # run, -u to not buffer stdout / stderr | ||||||
|   python3 -u scripts/webui.py --outdir /output --ckpt /models/model.ckpt --save-metadata ${CLI_ARGS} |   python3 -u scripts/webui.py --outdir /output --ckpt /models/model.ckpt --save-metadata ${CLI_ARGS} | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ services: | |||||||
|       - ./output:/output |       - ./output:/output | ||||||
|       - ./models:/models |       - ./models:/models | ||||||
|     environment: |     environment: | ||||||
|       - CLI_ARGS=--gfpgan-gpu 0 --esrgan-cpu --optimized-turbo |       - CLI_ARGS=--extra-models-cpu --optimized-turbo | ||||||
|     deploy: |     deploy: | ||||||
|       resources: |       resources: | ||||||
|         reservations: |         reservations: | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user