mirror of
				https://github.com/AbdBarho/stable-diffusion-webui-docker.git
				synced 2025-11-04 03:03:14 -05:00 
			
		
		
		
	Compare commits
	
		
			40 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					67c9d118d9 | ||
| 
						 | 
					2829ef3581 | ||
| 
						 | 
					1e0561c5cb | ||
| 
						 | 
					3c860d6eaa | ||
| 
						 | 
					15e9841860 | ||
| 
						 | 
					eeb410f2de | ||
| 
						 | 
					9d2a3388c3 | ||
| 
						 | 
					95e489afec | ||
| 
						 | 
					00518a0340 | ||
| 
						 | 
					f8de9190ed | ||
| 
						 | 
					8713163a3c | ||
| 
						 | 
					e2b0fb905b | ||
| 
						 | 
					510f9fab2b | ||
| 
						 | 
					042d5c561c | ||
| 
						 | 
					66846377a6 | ||
| 
						 | 
					c9153faff7 | ||
| 
						 | 
					13dfd4eba5 | ||
| 
						 | 
					9b1ea3cacf | ||
| 
						 | 
					b5cdf299ca | ||
| 
						 | 
					db831ece65 | ||
| 
						 | 
					ceeac61cb0 | ||
| 
						 | 
					19972f3cac | ||
| 
						 | 
					0c16c105bc | ||
| 
						 | 
					78c90e5435 | ||
| 
						 | 
					6a3826c80a | ||
| 
						 | 
					56d9763a73 | ||
| 
						 | 
					41e0dcc2f6 | ||
| 
						 | 
					5a9d305e5c | ||
| 
						 | 
					d70e96da71 | ||
| 
						 | 
					d97d257fd3 | ||
| 
						 | 
					c3cf8129a9 | ||
| 
						 | 
					b8256cccd2 | ||
| 
						 | 
					4969906ec8 | ||
| 
						 | 
					8201e361fa | ||
| 
						 | 
					1423b274b1 | ||
| 
						 | 
					87a51e9fd1 | ||
| 
						 | 
					bdee804112 | ||
| 
						 | 
					f1a1641add | ||
| 
						 | 
					8df9d10a58 | ||
| 
						 | 
					7a1e52bc7a | 
@@ -3,3 +3,4 @@
 | 
				
			|||||||
set -Eeuo pipefail
 | 
					set -Eeuo pipefail
 | 
				
			||||||
 | 
					
 | 
				
			||||||
find services -name "*.sh" -exec git update-index --chmod=+x {} \;
 | 
					find services -name "*.sh" -exec git update-index --chmod=+x {} \;
 | 
				
			||||||
 | 
					find .devscripts -name "*.sh" -exec git update-index --chmod=+x {} \;
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										9
									
								
								.devscripts/migratev3tov4.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										9
									
								
								.devscripts/migratev3tov4.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set -Eeuo pipefail
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "Moving everything in output to output/old..."
 | 
				
			||||||
 | 
					mv output old
 | 
				
			||||||
 | 
					mkdir output
 | 
				
			||||||
 | 
					mv old/.gitignore output
 | 
				
			||||||
 | 
					mv old output
 | 
				
			||||||
							
								
								
									
										28
									
								
								.github/ISSUE_TEMPLATE/bug.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										28
									
								
								.github/ISSUE_TEMPLATE/bug.md
									
									
									
									
										vendored
									
									
								
							@@ -1,10 +1,9 @@
 | 
				
			|||||||
---
 | 
					---
 | 
				
			||||||
name: Bug
 | 
					name: Bug
 | 
				
			||||||
about: Report a bug
 | 
					about: Report a bug
 | 
				
			||||||
title: ''
 | 
					title: ""
 | 
				
			||||||
labels: bug
 | 
					labels: bug
 | 
				
			||||||
assignees: ''
 | 
					assignees: ""
 | 
				
			||||||
 | 
					 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<!--  PLEASE FILL THIS OUT, IT WILL MAKE BOTH OF OUR LIVES EASIER -->
 | 
					<!--  PLEASE FILL THIS OUT, IT WILL MAKE BOTH OF OUR LIVES EASIER -->
 | 
				
			||||||
@@ -14,28 +13,27 @@ assignees: ''
 | 
				
			|||||||
- [ ] It is not in the [FAQ](https://github.com/AbdBarho/stable-diffusion-webui-docker/wiki/FAQ), I checked.
 | 
					- [ ] It is not in the [FAQ](https://github.com/AbdBarho/stable-diffusion-webui-docker/wiki/FAQ), I checked.
 | 
				
			||||||
- [ ] It is not in the [issues](https://github.com/AbdBarho/stable-diffusion-webui-docker/issues?q=), I searched.
 | 
					- [ ] It is not in the [issues](https://github.com/AbdBarho/stable-diffusion-webui-docker/issues?q=), I searched.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
**Describe the bug**
 | 
					**Describe the bug**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<!--  tried to run the app, my cat exploded -->
 | 
					<!--  tried to run the app, my cat exploded -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
**Which UI**
 | 
					**Which UI**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
hlky or auto or auto-cpu or lstein?
 | 
					auto or auto-cpu or invoke or sygil?
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
**Hardware / Software**
 | 
					**Hardware / Software**
 | 
				
			||||||
 - OS: [e.g. Windows 10 / Ubuntu ]
 | 
					
 | 
				
			||||||
 - OS version: <!--  on windows, use the command `winver` to find out, on ubuntu `lsb_release -d`  -->
 | 
					- OS: [e.g. Windows 10 / Ubuntu 22.04]
 | 
				
			||||||
 - WSL version (if applicable): <!-- get using `wsl -l -v` -->
 | 
					- OS version: <!--  on windows, use the command `winver` to find out, on ubuntu `lsb_release -d`  -->
 | 
				
			||||||
 - Docker Version: <!--  get using `docker version` -->
 | 
					- WSL version (if applicable): <!-- get using `wsl -l -v` -->
 | 
				
			||||||
 - Docker compose version: <!--  get using `docker compose version` -->
 | 
					- Docker Version: <!--  get using `docker version` -->
 | 
				
			||||||
 - Repo version: <!-- tag, commit sha, or "from master" -->
 | 
					- Docker compose version: <!--  get using `docker compose version` -->
 | 
				
			||||||
 - RAM:
 | 
					- Repo version: <!-- tag, commit sha, or "from master" -->
 | 
				
			||||||
 - GPU/VRAM:
 | 
					- RAM:
 | 
				
			||||||
 | 
					- GPU/VRAM:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**Steps to Reproduce**
 | 
					**Steps to Reproduce**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
1. Go to '...'
 | 
					1. Go to '...'
 | 
				
			||||||
2. Click on '....'
 | 
					2. Click on '....'
 | 
				
			||||||
3. Scroll down to '....'
 | 
					3. Scroll down to '....'
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								.github/pull_request_template.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/pull_request_template.md
									
									
									
									
										vendored
									
									
								
							@@ -9,5 +9,5 @@ Closes issue #
 | 
				
			|||||||
### Update versions
 | 
					### Update versions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- auto: https://github.com/AUTOMATIC1111/stable-diffusion-webui/commit/
 | 
					- auto: https://github.com/AUTOMATIC1111/stable-diffusion-webui/commit/
 | 
				
			||||||
- hlky: https://github.com/sd-webui/stable-diffusion-webui/commit/
 | 
					- sygil: https://github.com/Sygil-Dev/sygil-webui/commit/
 | 
				
			||||||
- lstein: https://github.com/invoke-ai/InvokeAI/commit/
 | 
					- invoke: https://github.com/invoke-ai/InvokeAI/commit/
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										5
									
								
								.github/workflows/docker.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								.github/workflows/docker.yml
									
									
									
									
										vendored
									
									
								
							@@ -14,12 +14,11 @@ jobs:
 | 
				
			|||||||
      matrix:
 | 
					      matrix:
 | 
				
			||||||
        profile:
 | 
					        profile:
 | 
				
			||||||
          - auto
 | 
					          - auto
 | 
				
			||||||
          - hlky
 | 
					          - sygil
 | 
				
			||||||
          - lstein
 | 
					          - invoke
 | 
				
			||||||
          - download
 | 
					          - download
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    name: ${{ matrix.profile }}
 | 
					    name: ${{ matrix.profile }}
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
      - uses: actions/checkout@v3
 | 
					      - uses: actions/checkout@v3
 | 
				
			||||||
      # better caching?
 | 
					 | 
				
			||||||
      - run: docker compose --profile ${{ matrix.profile }} build --progress plain
 | 
					      - run: docker compose --profile ${{ matrix.profile }} build --progress plain
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										36
									
								
								.github/workflows/xformers.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										36
									
								
								.github/workflows/xformers.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,36 +0,0 @@
 | 
				
			|||||||
name: Build Xformers
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
on:
 | 
					 | 
				
			||||||
  workflow_dispatch: {}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
jobs:
 | 
					 | 
				
			||||||
  build:
 | 
					 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					 | 
				
			||||||
    timeout-minutes: 180
 | 
					 | 
				
			||||||
    container:
 | 
					 | 
				
			||||||
      image: python:3.10-slim
 | 
					 | 
				
			||||||
      env:
 | 
					 | 
				
			||||||
        DEBIAN_FRONTEND: noninteractive
 | 
					 | 
				
			||||||
        XFORMERS_DISABLE_FLASH_ATTN: 1
 | 
					 | 
				
			||||||
        FORCE_CUDA: 1
 | 
					 | 
				
			||||||
        TORCH_CUDA_ARCH_LIST: "6.0;6.1;6.2;7.0;7.2;7.5;8.0;8.6"
 | 
					 | 
				
			||||||
        NVCC_FLAGS: --use_fast_math -DXFORMERS_MEM_EFF_ATTENTION_DISABLE_BACKWARD
 | 
					 | 
				
			||||||
        MAX_JOBS: 4
 | 
					 | 
				
			||||||
    steps:
 | 
					 | 
				
			||||||
      - run: |
 | 
					 | 
				
			||||||
          apt-get update
 | 
					 | 
				
			||||||
          apt-get install gpg wget git -y
 | 
					 | 
				
			||||||
          wget https://developer.download.nvidia.com/compute/cuda/repos/debian11/x86_64/cuda-keyring_1.0-1_all.deb
 | 
					 | 
				
			||||||
          dpkg -i cuda-keyring_1.0-1_all.deb
 | 
					 | 
				
			||||||
          apt-get update
 | 
					 | 
				
			||||||
          apt-get install cuda-nvcc-11-8 cuda-libraries-dev-11-8 -y
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
          export PIP_CACHE_DIR=$(pwd)/cache
 | 
					 | 
				
			||||||
          pip install ninja install torch --extra-index-url https://download.pytorch.org/whl/cu113
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
          pip wheel --wheel-dir=data git+https://github.com/facebookresearch/xformers.git@3633e1afc7bffbe61957f04e7bb1a742ee910ace#egg=xformers
 | 
					 | 
				
			||||||
      - name: Artifacts
 | 
					 | 
				
			||||||
        uses: actions/upload-artifact@v3
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          name: xformers
 | 
					 | 
				
			||||||
          path: data/xformers-0.0.14.dev0-cp310-cp310-linux_x86_64.whl
 | 
					 | 
				
			||||||
							
								
								
									
										13
									
								
								LICENSE
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								LICENSE
									
									
									
									
									
								
							@@ -87,16 +87,3 @@ processes, such as predicting an individual will commit fraud/crime
 | 
				
			|||||||
commitment (e.g. by text profiling, drawing causal relationships between
 | 
					commitment (e.g. by text profiling, drawing causal relationships between
 | 
				
			||||||
assertions made in documents, indiscriminate and arbitrarily-targeted
 | 
					assertions made in documents, indiscriminate and arbitrarily-targeted
 | 
				
			||||||
use).
 | 
					use).
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
By using this software, you also agree to the following licenses:
 | 
					 | 
				
			||||||
https://github.com/CompVis/stable-diffusion/blob/main/LICENSE
 | 
					 | 
				
			||||||
https://github.com/sd-webui/stable-diffusion-webui/blob/master/LICENSE
 | 
					 | 
				
			||||||
https://github.com/invoke-ai/InvokeAI/blob/main/LICENSE
 | 
					 | 
				
			||||||
https://github.com/cszn/BSRGAN/blob/main/LICENSE
 | 
					 | 
				
			||||||
https://github.com/sczhou/CodeFormer/blob/master/LICENSE
 | 
					 | 
				
			||||||
https://github.com/TencentARC/GFPGAN/blob/master/LICENSE
 | 
					 | 
				
			||||||
https://github.com/xinntao/Real-ESRGAN/blob/master/LICENSE
 | 
					 | 
				
			||||||
https://github.com/xinntao/ESRGAN/blob/master/LICENSE
 | 
					 | 
				
			||||||
https://github.com/cszn/SCUNet/blob/main/LICENSE
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										65
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										65
									
								
								README.md
									
									
									
									
									
								
							@@ -2,68 +2,41 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Run Stable Diffusion on your machine with a nice UI without any hassle!
 | 
					Run Stable Diffusion on your machine with a nice UI without any hassle!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
## Setup & Usage
 | 
					## Setup & Usage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Visit the wiki for [Setup](https://github.com/AbdBarho/stable-diffusion-webui-docker/wiki/Setup) and [Usage](https://github.com/AbdBarho/stable-diffusion-webui-docker/wiki/Usage) instructions, checkout the [FAQ](https://github.com/AbdBarho/stable-diffusion-webui-docker/wiki/FAQ) page if you face any problems, or create a new issue!
 | 
					Visit the wiki for [Setup](https://github.com/AbdBarho/stable-diffusion-webui-docker/wiki/Setup) and [Usage](https://github.com/AbdBarho/stable-diffusion-webui-docker/wiki/Usage) instructions, checkout the [FAQ](https://github.com/AbdBarho/stable-diffusion-webui-docker/wiki/FAQ) page if you face any problems, or create a new issue!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
## Contributing
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Contributions are welcome! **Create a discussion first of what the problem is and what you want to contribute (before you implement anything)**
 | 
					 | 
				
			||||||
## Features
 | 
					## Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This repository provides multiple UIs for you to play around with stable diffusion:
 | 
					This repository provides multiple UIs for you to play around with stable diffusion:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### AUTOMATIC1111
 | 
					### [AUTOMATIC1111](https://github.com/AUTOMATIC1111/stable-diffusion-webui)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[AUTOMATIC1111's fork](https://github.com/AUTOMATIC1111/stable-diffusion-webui) is imho the most feature rich yet elegant UI:
 | 
					[Full feature list here](https://github.com/AUTOMATIC1111/stable-diffusion-webui-feature-showcase), Screenshots:
 | 
				
			||||||
 | 
					 | 
				
			||||||
- Text to image, with many samplers and even negative prompts!
 | 
					 | 
				
			||||||
- Image to image, with masking, cropping, in-painting, out-painting, variations.
 | 
					 | 
				
			||||||
- GFPGAN, RealESRGAN, LDSR, CodeFormer.
 | 
					 | 
				
			||||||
- Loopback, prompt weighting, prompt matrix, X/Y plot
 | 
					 | 
				
			||||||
- Live preview of the generated images.
 | 
					 | 
				
			||||||
- Highly optimized 4GB GPU support, or even CPU only!
 | 
					 | 
				
			||||||
- Textual inversion allows you to use pretrained textual inversion embeddings
 | 
					 | 
				
			||||||
- [Full feature list here](https://github.com/AUTOMATIC1111/stable-diffusion-webui-feature-showcase)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
| Text to image                                                                                              | Image to image                                                                                             | Extras                                                                                                     |
 | 
					| Text to image                                                                                              | Image to image                                                                                             | Extras                                                                                                     |
 | 
				
			||||||
| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
 | 
					| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
 | 
				
			||||||
|  |  |  |
 | 
					|  |  |  |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### hlky (sd-webui / sygil-webui)
 | 
					### [InvokeAI (lstein)](https://github.com/invoke-ai/InvokeAI)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[hlky's fork](https://github.com/Sygil-Dev/sygil-webui) is one of the most popular UIs, with many features:
 | 
					[Full feature list here](https://github.com/invoke-ai/InvokeAI#features), Screenshots:
 | 
				
			||||||
 | 
					 | 
				
			||||||
- Text to image, with many samplers
 | 
					 | 
				
			||||||
- Image to image, with masking, cropping, in-painting, variations.
 | 
					 | 
				
			||||||
- GFPGAN, RealESRGAN, LDSR, GoBig, GoLatent
 | 
					 | 
				
			||||||
- Loopback, prompt weighting
 | 
					 | 
				
			||||||
- 6GB or even 4GB GPU support!
 | 
					 | 
				
			||||||
- [Full feature list here](https://github.com/Sygil-Dev/sygil-webui/blob/master/README.md)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Screenshots:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| Text to image                                                                                              | Image to image                                                                                             | Image Lab                                                                                                  |
 | 
					 | 
				
			||||||
| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
 | 
					 | 
				
			||||||
|  |  |  |
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### lstein (InvokeAI)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[lstein's fork](https://github.com/invoke-ai/InvokeAI) is one of the earliest with a wonderful WebUI.
 | 
					 | 
				
			||||||
- Text to image, with many samplers
 | 
					 | 
				
			||||||
- Image to image
 | 
					 | 
				
			||||||
- 4GB GPU support
 | 
					 | 
				
			||||||
- More coming!
 | 
					 | 
				
			||||||
- [Full feature list here](https://github.com/invoke-ai/InvokeAI#features)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
| Text to image                                                                                              | Image to image                                                                                             | Extras                                                                                                     |
 | 
					| Text to image                                                                                              | Image to image                                                                                             | Extras                                                                                                     |
 | 
				
			||||||
| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
 | 
					| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
 | 
				
			||||||
|  |  |  |
 | 
					|  |  |  |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### [Sygil (sd-webui / hlky)](https://github.com/Sygil-Dev/sygil-webui)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Full feature list here](https://github.com/Sygil-Dev/sygil-webui/blob/master/README.md), Screenshots:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					| Text to image                                                                                              | Image to image                                                                                             | Image Lab                                                                                                  |
 | 
				
			||||||
 | 
					| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
 | 
				
			||||||
 | 
					|  |  |  |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Contributing
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Contributions are welcome! **Create a discussion first of what the problem is and what you want to contribute (before you implement anything)**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Disclaimer
 | 
					## Disclaimer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -75,10 +48,8 @@ This license of this software forbids you from sharing any content that violates
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Special thanks to everyone behind these awesome projects, without them, none of this would have been possible:
 | 
					Special thanks to everyone behind these awesome projects, without them, none of this would have been possible:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- [hlky/stable-diffusion-webui](https://github.com/hlky/stable-diffusion-webui)
 | 
					 | 
				
			||||||
- [AUTOMATIC1111/stable-diffusion-webui](https://github.com/AUTOMATIC1111/stable-diffusion-webui)
 | 
					- [AUTOMATIC1111/stable-diffusion-webui](https://github.com/AUTOMATIC1111/stable-diffusion-webui)
 | 
				
			||||||
- [lstein/stable-diffusion](https://github.com/lstein/stable-diffusion)
 | 
					- [InvokeAI](https://github.com/invoke-ai/InvokeAI)
 | 
				
			||||||
 | 
					- [Sygil-webui](https://github.com/Sygil-Dev/sygil-webui)
 | 
				
			||||||
- [CompVis/stable-diffusion](https://github.com/CompVis/stable-diffusion)
 | 
					- [CompVis/stable-diffusion](https://github.com/CompVis/stable-diffusion)
 | 
				
			||||||
- [hlky/sd-enable-textual-inversion](https://github.com/hlky/sd-enable-textual-inversion)
 | 
					- and many many more.
 | 
				
			||||||
- [devilismyfriend/latent-diffusion](https://github.com/devilismyfriend/latent-diffusion)
 | 
					 | 
				
			||||||
- [Hafiidz/latent-diffusion](https://github.com/Hafiidz/latent-diffusion)
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										3
									
								
								data/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								data/.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -11,9 +11,12 @@
 | 
				
			|||||||
/BSRGAN
 | 
					/BSRGAN
 | 
				
			||||||
/RealESRGAN
 | 
					/RealESRGAN
 | 
				
			||||||
/SwinIR
 | 
					/SwinIR
 | 
				
			||||||
 | 
					/MiDaS
 | 
				
			||||||
 | 
					/BLIP
 | 
				
			||||||
/ScuNET
 | 
					/ScuNET
 | 
				
			||||||
/LDSR
 | 
					/LDSR
 | 
				
			||||||
/Deepdanbooru
 | 
					/Deepdanbooru
 | 
				
			||||||
/Hypernetworks
 | 
					/Hypernetworks
 | 
				
			||||||
/VAE
 | 
					/VAE
 | 
				
			||||||
/embeddings
 | 
					/embeddings
 | 
				
			||||||
 | 
					/Lora
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,7 @@ x-base_service: &base_service
 | 
				
			|||||||
    volumes:
 | 
					    volumes:
 | 
				
			||||||
      - &v1 ./data:/data
 | 
					      - &v1 ./data:/data
 | 
				
			||||||
      - &v2 ./output:/output
 | 
					      - &v2 ./output:/output
 | 
				
			||||||
 | 
					    stop_signal: SIGINT
 | 
				
			||||||
    deploy:
 | 
					    deploy:
 | 
				
			||||||
      resources:
 | 
					      resources:
 | 
				
			||||||
        reservations:
 | 
					        reservations:
 | 
				
			||||||
@@ -27,31 +28,38 @@ services:
 | 
				
			|||||||
    <<: *base_service
 | 
					    <<: *base_service
 | 
				
			||||||
    profiles: ["auto"]
 | 
					    profiles: ["auto"]
 | 
				
			||||||
    build: ./services/AUTOMATIC1111
 | 
					    build: ./services/AUTOMATIC1111
 | 
				
			||||||
    image: sd-auto:18
 | 
					    image: sd-auto:45
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
      - CLI_ARGS=--allow-code --medvram --xformers
 | 
					      - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  auto-cpu:
 | 
					  auto-cpu:
 | 
				
			||||||
    <<: *automatic
 | 
					    <<: *automatic
 | 
				
			||||||
    profiles: ["auto-cpu"]
 | 
					    profiles: ["auto-cpu"]
 | 
				
			||||||
    deploy: {}
 | 
					    deploy: {}
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
      - CLI_ARGS=--no-half --precision full
 | 
					      - CLI_ARGS=--no-half --precision full --allow-code --enable-insecure-extension-access --api
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  hlky:
 | 
					  invoke:
 | 
				
			||||||
    <<: *base_service
 | 
					    <<: *base_service
 | 
				
			||||||
    profiles: ["hlky"]
 | 
					    profiles: ["invoke"]
 | 
				
			||||||
    build: ./services/hlky/
 | 
					    build: ./services/invoke/
 | 
				
			||||||
    image: sd-hlky:9
 | 
					    image: sd-invoke:23
 | 
				
			||||||
 | 
					    environment:
 | 
				
			||||||
 | 
					      - PRELOAD=true
 | 
				
			||||||
 | 
					      - CLI_ARGS=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  sygil: &sygil
 | 
				
			||||||
 | 
					    <<: *base_service
 | 
				
			||||||
 | 
					    profiles: ["sygil"]
 | 
				
			||||||
 | 
					    build: ./services/sygil/
 | 
				
			||||||
 | 
					    image: sd-sygil:16
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
      - CLI_ARGS=--optimized-turbo
 | 
					      - CLI_ARGS=--optimized-turbo
 | 
				
			||||||
      - USE_STREAMLIT=0
 | 
					      - USE_STREAMLIT=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  lstein:
 | 
					  sygil-sl:
 | 
				
			||||||
    <<: *base_service
 | 
					    <<: *sygil
 | 
				
			||||||
    profiles: ["lstein"]
 | 
					    profiles: ["sygil-sl"]
 | 
				
			||||||
    build: ./services/lstein/
 | 
					 | 
				
			||||||
    image: sd-lstein:7
 | 
					 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
      - PRELOAD=true
 | 
					      - USE_STREAMLIT=1
 | 
				
			||||||
      - CLI_ARGS=--max_loaded_models=1
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,84 +13,81 @@ EOF
 | 
				
			|||||||
RUN . /clone.sh taming-transformers https://github.com/CompVis/taming-transformers.git 24268930bf1dce879235a7fddd0b2355b84d7ea6 \
 | 
					RUN . /clone.sh taming-transformers https://github.com/CompVis/taming-transformers.git 24268930bf1dce879235a7fddd0b2355b84d7ea6 \
 | 
				
			||||||
  && rm -rf data assets **/*.ipynb
 | 
					  && rm -rf data assets **/*.ipynb
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN . /clone.sh stable-diffusion https://github.com/CompVis/stable-diffusion.git 69ae4b35e0a0f6ee1af8bb9a5d0016ccb27e36dc \
 | 
					RUN . /clone.sh stable-diffusion-stability-ai https://github.com/Stability-AI/stablediffusion.git 47b6b607fdd31875c9279cd2f4f16b92e4ea958e \
 | 
				
			||||||
  && rm -rf assets data/**/*.png data/**/*.jpg data/**/*.gif
 | 
					  && rm -rf assets data/**/*.png data/**/*.jpg data/**/*.gif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN . /clone.sh CodeFormer https://github.com/sczhou/CodeFormer.git c5b4593074ba6214284d6acd5f1719b6c5d739af \
 | 
					RUN . /clone.sh CodeFormer https://github.com/sczhou/CodeFormer.git c5b4593074ba6214284d6acd5f1719b6c5d739af \
 | 
				
			||||||
  && rm -rf assets inputs
 | 
					  && rm -rf assets inputs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN . /clone.sh BLIP https://github.com/salesforce/BLIP.git 48211a1594f1321b00f14c9f7a5b4813144b2fb9
 | 
					RUN . /clone.sh BLIP https://github.com/salesforce/BLIP.git 48211a1594f1321b00f14c9f7a5b4813144b2fb9
 | 
				
			||||||
RUN . /clone.sh k-diffusion https://github.com/crowsonkb/k-diffusion.git 60e5042ca0da89c14d1dd59d73883280f8fce991
 | 
					RUN . /clone.sh k-diffusion https://github.com/crowsonkb/k-diffusion.git 5b3af030dd83e0297272d861c19477735d0317ec
 | 
				
			||||||
RUN . /clone.sh clip-interrogator https://github.com/pharmapsychotic/clip-interrogator 2486589f24165c8e3b303f84e9dbbea318df83e8
 | 
					RUN . /clone.sh clip-interrogator https://github.com/pharmapsychotic/clip-interrogator 2486589f24165c8e3b303f84e9dbbea318df83e8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
FROM alpine:3 as xformers
 | 
					FROM alpine:3.17 as xformers
 | 
				
			||||||
RUN apk add aria2
 | 
					RUN apk add --no-cache aria2
 | 
				
			||||||
RUN aria2c -x 10 --dir / --out wheel.whl 'https://github.com/AbdBarho/stable-diffusion-webui-docker/releases/download/3.1.0/xformers-0.0.15.dev0+4e3631d.d20221125-cp310-cp310-linux_x86_64.whl'
 | 
					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'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
FROM python:3.10-slim
 | 
					FROM python:3.10.9-slim
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SHELL ["/bin/bash", "-ceuxo", "pipefail"]
 | 
					SHELL ["/bin/bash", "-ceuxo", "pipefail"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ENV DEBIAN_FRONTEND=noninteractive PIP_PREFER_BINARY=1 PIP_NO_CACHE_DIR=1
 | 
					ENV DEBIAN_FRONTEND=noninteractive PIP_PREFER_BINARY=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 --extra-index-url https://download.pytorch.org/whl/cu116
 | 
					RUN PIP_NO_CACHE_DIR=1 pip install torch==1.13.1+cu117 torchvision --extra-index-url https://download.pytorch.org/whl/cu117
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN apt-get update && apt install fonts-dejavu-core rsync git jq moreutils -y && apt-get clean
 | 
					RUN apt-get update && apt install fonts-dejavu-core rsync git jq moreutils -y && apt-get clean
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN <<EOF
 | 
					RUN --mount=type=cache,target=/root/.cache/pip <<EOF
 | 
				
			||||||
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
 | 
					git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
 | 
				
			||||||
cd stable-diffusion-webui
 | 
					cd stable-diffusion-webui
 | 
				
			||||||
git reset --hard 98947d173e3f1667eba29c904f681047dea9de90
 | 
					git reset --hard d7aec59c4eb02f723b3d55c6f927a42e97acd679
 | 
				
			||||||
pip install -r requirements_versions.txt
 | 
					pip install -r requirements_versions.txt
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN --mount=type=cache,target=/root/.cache/pip  \
 | 
				
			||||||
COPY --from=xformers /wheel.whl xformers-0.0.15-cp310-cp310-linux_x86_64.whl
 | 
					  --mount=type=bind,from=xformers,source=/wheel.whl,target=/xformers-0.0.15-cp310-cp310-linux_x86_64.whl \
 | 
				
			||||||
RUN pip install xformers-0.0.15-cp310-cp310-linux_x86_64.whl && rm xformers-0.0.15-cp310-cp310-linux_x86_64.whl
 | 
					  pip install triton /xformers-0.0.15-cp310-cp310-linux_x86_64.whl
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
ENV ROOT=/stable-diffusion-webui
 | 
					ENV ROOT=/stable-diffusion-webui
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
COPY --from=download /git/ ${ROOT}
 | 
					COPY --from=download /git/ ${ROOT}
 | 
				
			||||||
RUN mkdir ${ROOT}/interrogate && cp ${ROOT}/repositories/clip-interrogator/data/* ${ROOT}/interrogate
 | 
					RUN mkdir ${ROOT}/interrogate && cp ${ROOT}/repositories/clip-interrogator/data/* ${ROOT}/interrogate
 | 
				
			||||||
RUN pip install -r ${ROOT}/repositories/CodeFormer/requirements.txt
 | 
					RUN --mount=type=cache,target=/root/.cache/pip \
 | 
				
			||||||
 | 
					  pip install -r ${ROOT}/repositories/CodeFormer/requirements.txt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN --mount=type=cache,target=/root/.cache/pip \
 | 
				
			||||||
ARG DEEPDANBOORU="0"
 | 
					  pip install pyngrok \
 | 
				
			||||||
RUN [[ "${DEEPDANBOORU:-0}" == "0" ]] && : || pip install tensorflow-cpu==2.10 tensorflow-io==0.27.0 git+https://github.com/KichangKim/DeepDanbooru.git@edf73df4cdaeea2cf00e9ac08bd8a9026b7a7b26#egg=deepdanbooru
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
RUN pip install opencv-python-headless \
 | 
					 | 
				
			||||||
  git+https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379 \
 | 
					  git+https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379 \
 | 
				
			||||||
  git+https://github.com/openai/CLIP.git@d50d76daa670286dd6cacf3bcd80b5e4823fc8e1 \
 | 
					  git+https://github.com/openai/CLIP.git@d50d76daa670286dd6cacf3bcd80b5e4823fc8e1 \
 | 
				
			||||||
  pyngrok
 | 
					  git+https://github.com/mlfoundations/open_clip.git@bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ARG SHA=47a44c7e421b98ca07e92dbf88769b04c9e28f86
 | 
					ARG SHA=3715ece0adce7bf7c5e9c5ab3710b2fdc3848f39
 | 
				
			||||||
RUN <<EOF
 | 
					RUN --mount=type=cache,target=/root/.cache/pip <<EOF
 | 
				
			||||||
cd stable-diffusion-webui
 | 
					cd stable-diffusion-webui
 | 
				
			||||||
git fetch
 | 
					git fetch
 | 
				
			||||||
git reset --hard ${SHA}
 | 
					git reset --hard ${SHA}
 | 
				
			||||||
pip install -r requirements_versions.txt
 | 
					pip install -r requirements_versions.txt
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN pip install opencv-python-headless
 | 
					RUN --mount=type=cache,target=/root/.cache/pip  pip install -U opencv-python-headless
 | 
				
			||||||
 | 
					
 | 
				
			||||||
COPY . /docker
 | 
					COPY . /docker
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN <<EOF
 | 
					RUN <<EOF
 | 
				
			||||||
python3 /docker/info.py ${ROOT}/modules/ui.py
 | 
					python3 /docker/info.py ${ROOT}/modules/ui.py
 | 
				
			||||||
mv  ${ROOT}/style.css ${ROOT}/user.css
 | 
					mv ${ROOT}/style.css ${ROOT}/user.css
 | 
				
			||||||
sed -i 's/os.rename(tmpdir, target_dir)/shutil.move(tmpdir,target_dir)/' ${ROOT}/modules/ui_extensions.py
 | 
					# one of the ugliest hacks I ever wrote
 | 
				
			||||||
 | 
					sed -i 's/in_app_dir = .*/in_app_dir = True/g' /usr/local/lib/python3.10/site-packages/gradio/routes.py
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
WORKDIR ${ROOT}
 | 
					WORKDIR ${ROOT}
 | 
				
			||||||
ENV CLI_ARGS=""
 | 
					ENV CLI_ARGS=""
 | 
				
			||||||
EXPOSE 7860
 | 
					EXPOSE 7860
 | 
				
			||||||
ENTRYPOINT ["/docker/entrypoint.sh"]
 | 
					ENTRYPOINT ["/docker/entrypoint.sh"]
 | 
				
			||||||
# run, -u to not buffer stdout / stderr
 | 
					CMD python -u webui.py --listen --port 7860 ${CLI_ARGS}
 | 
				
			||||||
CMD python3 -u webui.py --listen --port 7860 ${CLI_ARGS}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,8 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "outdir_samples": "/output",
 | 
					  "outdir_samples": "",
 | 
				
			||||||
  "outdir_txt2img_samples": "/output/txt2img-images",
 | 
					  "outdir_txt2img_samples": "/output/txt2img",
 | 
				
			||||||
  "outdir_img2img_samples": "/output/img2img-images",
 | 
					  "outdir_img2img_samples": "/output/img2img",
 | 
				
			||||||
  "outdir_extras_samples": "/output/extras-images",
 | 
					  "outdir_extras_samples": "/output/extras",
 | 
				
			||||||
  "outdir_txt2img_grids": "/output/txt2img-grids",
 | 
					  "outdir_txt2img_grids": "/output/txt2img-grids",
 | 
				
			||||||
  "outdir_img2img_grids": "/output/img2img-grids",
 | 
					  "outdir_img2img_grids": "/output/img2img-grids",
 | 
				
			||||||
  "outdir_save": "/output/saved",
 | 
					  "outdir_save": "/output/saved",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,6 +4,10 @@ set -Eeuo pipefail
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# TODO: move all mkdir -p ?
 | 
					# TODO: move all mkdir -p ?
 | 
				
			||||||
mkdir -p /data/config/auto/scripts/
 | 
					mkdir -p /data/config/auto/scripts/
 | 
				
			||||||
 | 
					# mount scripts individually
 | 
				
			||||||
 | 
					find "${ROOT}/scripts/" -maxdepth 1 -type l -delete
 | 
				
			||||||
 | 
					cp -vrfTs /data/config/auto/scripts/ "${ROOT}/scripts/"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cp -n /docker/config.json /data/config/auto/config.json
 | 
					cp -n /docker/config.json /data/config/auto/config.json
 | 
				
			||||||
jq '. * input' /data/config/auto/config.json /docker/config.json | sponge /data/config/auto/config.json
 | 
					jq '. * input' /data/config/auto/config.json /docker/config.json | sponge /data/config/auto/config.json
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -11,9 +15,6 @@ if [ ! -f /data/config/auto/ui-config.json ]; then
 | 
				
			|||||||
  echo '{}' >/data/config/auto/ui-config.json
 | 
					  echo '{}' >/data/config/auto/ui-config.json
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# copy scripts, we cannot just mount the directory because it will override the already provided scripts in the repo
 | 
					 | 
				
			||||||
cp -rfT /data/config/auto/scripts/ "${ROOT}/scripts"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
declare -A MOUNTS
 | 
					declare -A MOUNTS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
MOUNTS["/root/.cache"]="/data/.cache"
 | 
					MOUNTS["/root/.cache"]="/data/.cache"
 | 
				
			||||||
@@ -30,7 +31,10 @@ MOUNTS["${ROOT}/models/SwinIR"]="/data/SwinIR"
 | 
				
			|||||||
MOUNTS["${ROOT}/models/ScuNET"]="/data/ScuNET"
 | 
					MOUNTS["${ROOT}/models/ScuNET"]="/data/ScuNET"
 | 
				
			||||||
MOUNTS["${ROOT}/models/LDSR"]="/data/LDSR"
 | 
					MOUNTS["${ROOT}/models/LDSR"]="/data/LDSR"
 | 
				
			||||||
MOUNTS["${ROOT}/models/hypernetworks"]="/data/Hypernetworks"
 | 
					MOUNTS["${ROOT}/models/hypernetworks"]="/data/Hypernetworks"
 | 
				
			||||||
MOUNTS["${ROOT}/models/deepbooru"]="/data/Deepdanbooru"
 | 
					MOUNTS["${ROOT}/models/torch_deepdanbooru"]="/data/Deepdanbooru"
 | 
				
			||||||
 | 
					MOUNTS["${ROOT}/models/BLIP"]="/data/BLIP"
 | 
				
			||||||
 | 
					MOUNTS["${ROOT}/models/midas"]="/data/MiDaS"
 | 
				
			||||||
 | 
					MOUNTS["${ROOT}/models/Lora"]="/data/Lora"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
MOUNTS["${ROOT}/embeddings"]="/data/embeddings"
 | 
					MOUNTS["${ROOT}/embeddings"]="/data/embeddings"
 | 
				
			||||||
MOUNTS["${ROOT}/config.json"]="/data/config/auto/config.json"
 | 
					MOUNTS["${ROOT}/config.json"]="/data/config/auto/config.json"
 | 
				
			||||||
@@ -52,8 +56,6 @@ for to_path in "${!MOUNTS[@]}"; do
 | 
				
			|||||||
  echo Mounted $(basename "${from_path}")
 | 
					  echo Mounted $(basename "${from_path}")
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
mkdir -p /output/saved /output/txt2img-images/ /output/img2img-images /output/extras-images/ /output/grids/ /output/txt2img-grids/ /output/img2img-grids/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if [ -f "/data/config/auto/startup.sh" ]; then
 | 
					if [ -f "/data/config/auto/startup.sh" ]; then
 | 
				
			||||||
  pushd ${ROOT}
 | 
					  pushd ${ROOT}
 | 
				
			||||||
  . /data/config/auto/startup.sh
 | 
					  . /data/config/auto/startup.sh
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,11 +3,11 @@
 | 
				
			|||||||
set -Eeuo pipefail
 | 
					set -Eeuo pipefail
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# TODO: maybe just use the .gitignore file to create all of these
 | 
					# TODO: maybe just use the .gitignore file to create all of these
 | 
				
			||||||
mkdir -vp /data/.cache /data/StableDiffusion /data/Codeformer /data/GFPGAN /data/ESRGAN /data/BSRGAN /data/RealESRGAN /data/SwinIR /data/LDSR /data/ScuNET /data/embeddings /data/VAE /data/Deepdanbooru
 | 
					mkdir -vp /data/.cache /data/StableDiffusion /data/Codeformer /data/GFPGAN /data/ESRGAN /data/BSRGAN /data/RealESRGAN /data/SwinIR /data/LDSR /data/ScuNET /data/embeddings /data/VAE /data/Deepdanbooru /data/MiDaS /data/Lora
 | 
				
			||||||
 | 
					
 | 
				
			||||||
echo "Downloading, this might take a while..."
 | 
					echo "Downloading, this might take a while..."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
aria2c --disable-ipv6 --input-file /docker/links.txt --dir /data --continue
 | 
					aria2c -x 10 --disable-ipv6 --input-file /docker/links.txt --dir /data --continue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
echo "Checking SHAs..."
 | 
					echo "Checking SHAs..."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -15,10 +15,11 @@ parallel --will-cite -a /docker/checksums.sha256 "echo -n {} | sha256sum -c"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
cat <<EOF
 | 
					cat <<EOF
 | 
				
			||||||
By using this software, you agree to the following licenses:
 | 
					By using this software, you agree to the following licenses:
 | 
				
			||||||
https://github.com/CompVis/stable-diffusion/blob/main/LICENSE
 | 
					 | 
				
			||||||
https://github.com/AbdBarho/stable-diffusion-webui-docker/blob/master/LICENSE
 | 
					https://github.com/AbdBarho/stable-diffusion-webui-docker/blob/master/LICENSE
 | 
				
			||||||
https://github.com/sd-webui/stable-diffusion-webui/blob/master/LICENSE
 | 
					https://github.com/CompVis/stable-diffusion/blob/main/LICENSE
 | 
				
			||||||
 | 
					https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/master/LICENSE.txt
 | 
				
			||||||
https://github.com/invoke-ai/InvokeAI/blob/main/LICENSE
 | 
					https://github.com/invoke-ai/InvokeAI/blob/main/LICENSE
 | 
				
			||||||
 | 
					https://github.com/sd-webui/stable-diffusion-webui/blob/master/LICENSE
 | 
				
			||||||
https://github.com/cszn/BSRGAN/blob/main/LICENSE
 | 
					https://github.com/cszn/BSRGAN/blob/main/LICENSE
 | 
				
			||||||
https://github.com/sczhou/CodeFormer/blob/master/LICENSE
 | 
					https://github.com/sczhou/CodeFormer/blob/master/LICENSE
 | 
				
			||||||
https://github.com/TencentARC/GFPGAN/blob/master/LICENSE
 | 
					https://github.com/TencentARC/GFPGAN/blob/master/LICENSE
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,8 @@
 | 
				
			|||||||
https://huggingface.co/ZeroCool94/stable-diffusion-v1-5/resolve/main/Stable%20Diffusion%20v1-5-Pruned-ema%20only.ckpt
 | 
					https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.ckpt
 | 
				
			||||||
  out=StableDiffusion/v1-5-pruned-emaonly.ckpt
 | 
					  out=StableDiffusion/v1-5-pruned-emaonly.ckpt
 | 
				
			||||||
https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.ckpt
 | 
					https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.ckpt
 | 
				
			||||||
  out=VAE/vae-ft-mse-840000-ema-pruned.ckpt
 | 
					  out=VAE/vae-ft-mse-840000-ema-pruned.ckpt
 | 
				
			||||||
https://huggingface.co/ZeroCool94/stable-diffusion-v1-5/resolve/main/Stable%20Diffusion-v1-5-Inpainting.ckpt
 | 
					https://huggingface.co/runwayml/stable-diffusion-inpainting/resolve/main/sd-v1-5-inpainting.ckpt
 | 
				
			||||||
  out=StableDiffusion/sd-v1-5-inpainting.ckpt
 | 
					  out=StableDiffusion/sd-v1-5-inpainting.ckpt
 | 
				
			||||||
https://github.com/TencentARC/GFPGAN/releases/download/v1.3.4/GFPGANv1.4.pth
 | 
					https://github.com/TencentARC/GFPGAN/releases/download/v1.3.4/GFPGANv1.4.pth
 | 
				
			||||||
  out=GFPGAN/GFPGANv1.4.pth
 | 
					  out=GFPGAN/GFPGANv1.4.pth
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,51 +0,0 @@
 | 
				
			|||||||
# syntax=docker/dockerfile:1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
FROM continuumio/miniconda3:4.12.0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
SHELL ["/bin/bash", "-ceuxo", "pipefail"]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ENV DEBIAN_FRONTEND=noninteractive
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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 apt-get update && apt install fonts-dejavu-core rsync gcc -y && apt-get clean
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ENV PIP_PREFER_BINARY=1 PIP_NO_CACHE_DIR=1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
RUN <<EOF
 | 
					 | 
				
			||||||
git config --global http.postBuffer 1048576000
 | 
					 | 
				
			||||||
git clone https://github.com/Sygil-Dev/sygil-webui.git stable-diffusion
 | 
					 | 
				
			||||||
cd stable-diffusion
 | 
					 | 
				
			||||||
git reset --hard 091520bed06f913c9f432f9f47ccbe22b46068d7
 | 
					 | 
				
			||||||
conda env update --file environment.yaml -n base
 | 
					 | 
				
			||||||
conda clean -a -y
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
RUN apt-get update && apt install libsndfile1 ffmpeg -y && apt-get clean
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ARG BRANCH=dev SHA=269107a104fc9fee3201eb2c56cf7adb3d063e4b
 | 
					 | 
				
			||||||
RUN <<EOF
 | 
					 | 
				
			||||||
cd stable-diffusion
 | 
					 | 
				
			||||||
git fetch
 | 
					 | 
				
			||||||
git checkout ${BRANCH}
 | 
					 | 
				
			||||||
git reset --hard ${SHA}
 | 
					 | 
				
			||||||
conda env update --file environment.yaml -n base
 | 
					 | 
				
			||||||
conda clean -a -y
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# add info
 | 
					 | 
				
			||||||
COPY . /docker/
 | 
					 | 
				
			||||||
RUN <<EOF
 | 
					 | 
				
			||||||
python /docker/info.py /stable-diffusion/frontend/frontend.py
 | 
					 | 
				
			||||||
chmod +x /docker/mount.sh /docker/run.sh
 | 
					 | 
				
			||||||
# streamlit
 | 
					 | 
				
			||||||
sed -i -- 's/8501/7860/g' /stable-diffusion/.streamlit/config.toml
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
WORKDIR /stable-diffusion
 | 
					 | 
				
			||||||
ENV PYTHONPATH="${PYTHONPATH}:${PWD}" STREAMLIT_SERVER_HEADLESS=true USE_STREAMLIT=0 CLI_ARGS=""
 | 
					 | 
				
			||||||
EXPOSE 7860
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
CMD /docker/mount.sh && /docker/run.sh
 | 
					 | 
				
			||||||
							
								
								
									
										72
									
								
								services/invoke/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								services/invoke/Dockerfile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,72 @@
 | 
				
			|||||||
 | 
					# syntax=docker/dockerfile:1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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/5.0.0/xformers-0.0.17.dev449-cp310-cp310-manylinux2014_x86_64.whl'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM python:3.10-slim
 | 
				
			||||||
 | 
					SHELL ["/bin/bash", "-ceuxo", "pipefail"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENV DEBIAN_FRONTEND=noninteractive PIP_EXISTS_ACTION=w  PIP_PREFER_BINARY=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN --mount=type=cache,target=/root/.cache/pip pip install torch==1.13.1+cu117 torchvision --extra-index-url https://download.pytorch.org/whl/cu117
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN apt-get update && apt-get install git -y && apt-get clean
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN git clone https://github.com/invoke-ai/InvokeAI.git /stable-diffusion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					WORKDIR /stable-diffusion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN --mount=type=cache,target=/root/.cache/pip <<EOF
 | 
				
			||||||
 | 
					git reset --hard f232068ab89bd80e4f5f3133dcdb62ea78f1d0f7
 | 
				
			||||||
 | 
					git config --global http.postBuffer 1048576000
 | 
				
			||||||
 | 
					egrep -v '^-e .' environments-and-requirements/requirements-lin-cuda.txt > req.txt
 | 
				
			||||||
 | 
					pip install -r req.txt
 | 
				
			||||||
 | 
					rm req.txt
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# patch match:
 | 
				
			||||||
 | 
					# https://github.com/invoke-ai/InvokeAI/blob/main/docs/installation/INSTALL_PATCHMATCH.md
 | 
				
			||||||
 | 
					RUN <<EOF
 | 
				
			||||||
 | 
					apt-get update
 | 
				
			||||||
 | 
					# apt-get install build-essential python3-opencv libopencv-dev -y
 | 
				
			||||||
 | 
					apt-get install make g++ libopencv-dev -y
 | 
				
			||||||
 | 
					apt-get clean
 | 
				
			||||||
 | 
					cd /usr/lib/x86_64-linux-gnu/pkgconfig/
 | 
				
			||||||
 | 
					ln -sf opencv4.pc opencv.pc
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ARG BRANCH=main SHA=6551527fe249dc7a44e3fab9db9451c0dc3ad851
 | 
				
			||||||
 | 
					RUN --mount=type=cache,target=/root/.cache/pip <<EOF
 | 
				
			||||||
 | 
					git fetch
 | 
				
			||||||
 | 
					git reset --hard
 | 
				
			||||||
 | 
					git checkout ${BRANCH}
 | 
				
			||||||
 | 
					git reset --hard ${SHA}
 | 
				
			||||||
 | 
					pip install .
 | 
				
			||||||
 | 
					# egrep -v '^-e .' environments-and-requirements/requirements-lin-cuda.txt > req.txt
 | 
				
			||||||
 | 
					# pip install -r req.txt
 | 
				
			||||||
 | 
					# rm req.txt
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN --mount=type=cache,target=/root/.cache/pip \
 | 
				
			||||||
 | 
					  --mount=type=bind,from=xformers,source=/wheel.whl,target=/xformers-0.0.15-cp310-cp310-linux_x86_64.whl \
 | 
				
			||||||
 | 
					  pip install -U opencv-python-headless huggingface_hub triton /xformers-0.0.15-cp310-cp310-linux_x86_64.whl && \
 | 
				
			||||||
 | 
					  python3 -c "from patchmatch import patch_match"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN touch invokeai.init
 | 
				
			||||||
 | 
					COPY . /docker/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# mkdir configs && cp invokeai/configs/INITIAL_MODELS.yaml configs/models.yaml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENV PYTHONUNBUFFERED=1 ROOT=/stable-diffusion PYTHONPATH="${PYTHONPATH}:${ROOT}" PRELOAD=false CLI_ARGS="" HF_HOME=/root/.cache/huggingface
 | 
				
			||||||
 | 
					EXPOSE 7860
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENTRYPOINT ["/docker/entrypoint.sh"]
 | 
				
			||||||
 | 
					CMD invokeai --web --host 0.0.0.0 --port 7860 --config /docker/models.yaml --root_dir ${ROOT} --outdir /output/invoke ${CLI_ARGS}
 | 
				
			||||||
@@ -5,7 +5,7 @@ set -Eeuo pipefail
 | 
				
			|||||||
declare -A MOUNTS
 | 
					declare -A MOUNTS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# cache
 | 
					# cache
 | 
				
			||||||
MOUNTS["/root/.cache"]=/data/.cache
 | 
					MOUNTS["/root/.cache"]=/data/.cache/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# ui specific
 | 
					# ui specific
 | 
				
			||||||
MOUNTS["${ROOT}/models/codeformer"]=/data/Codeformer/
 | 
					MOUNTS["${ROOT}/models/codeformer"]=/data/Codeformer/
 | 
				
			||||||
@@ -15,17 +15,15 @@ MOUNTS["${ROOT}/models/gfpgan/weights"]=/data/.cache/
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
MOUNTS["${ROOT}/models/realesrgan"]=/data/RealESRGAN/
 | 
					MOUNTS["${ROOT}/models/realesrgan"]=/data/RealESRGAN/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
MOUNTS["${ROOT}/models/bert-base-uncased"]=/data/.cache/huggingface/transformers
 | 
					MOUNTS["${ROOT}/models/bert-base-uncased"]=/data/.cache/huggingface/transformers/
 | 
				
			||||||
MOUNTS["${ROOT}/models/openai/clip-vit-large-patch14"]=/data/.cache/huggingface/transformers
 | 
					MOUNTS["${ROOT}/models/openai/clip-vit-large-patch14"]=/data/.cache/huggingface/transformers/
 | 
				
			||||||
MOUNTS["${ROOT}/models/CompVis/stable-diffusion-safety-checker"]=/data/.cache/huggingface/transformers
 | 
					MOUNTS["${ROOT}/models/CompVis/stable-diffusion-safety-checker"]=/data/.cache/huggingface/transformers/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					MOUNTS["${ROOT}/embeddings"]=/data/embeddings/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
MOUNTS["${ROOT}/configs/models.yaml"]=/docker/models.yaml
 | 
					 | 
				
			||||||
# hacks
 | 
					# hacks
 | 
				
			||||||
MOUNTS["/opt/conda/lib/python3.10/site-packages/facexlib/weights"]=/data/.cache/
 | 
					 | 
				
			||||||
MOUNTS["${ROOT}/models/clipseg"]=/data/.cache/invoke/clipseg/
 | 
					MOUNTS["${ROOT}/models/clipseg"]=/data/.cache/invoke/clipseg/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# MOUNTS["/opt/conda/lib/python3.9/site-packages/realesrgan/weights"]=/data/RealESRGAN
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
for to_path in "${!MOUNTS[@]}"; do
 | 
					for to_path in "${!MOUNTS[@]}"; do
 | 
				
			||||||
  set -Eeuo pipefail
 | 
					  set -Eeuo pipefail
 | 
				
			||||||
  from_path="${MOUNTS[${to_path}]}"
 | 
					  from_path="${MOUNTS[${to_path}]}"
 | 
				
			||||||
@@ -40,8 +38,9 @@ for to_path in "${!MOUNTS[@]}"; do
 | 
				
			|||||||
  echo Mounted $(basename "${from_path}")
 | 
					  echo Mounted $(basename "${from_path}")
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if "${PRELOAD}" == "true"; then
 | 
					# if "${PRELOAD}" == "true"; then
 | 
				
			||||||
  python3 -u scripts/preload_models.py --no-interactive
 | 
					#   set -Eeuo pipefail
 | 
				
			||||||
fi
 | 
					#   python3 -u scripts/preload_models.py --skip-sd-weights --root ${ROOT} --config_file /docker/models.yaml
 | 
				
			||||||
 | 
					# fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
exec "$@"
 | 
					exec "$@"
 | 
				
			||||||
@@ -9,7 +9,7 @@ stable-diffusion-1.5:
 | 
				
			|||||||
  description: Stable Diffusion version 1.5
 | 
					  description: Stable Diffusion version 1.5
 | 
				
			||||||
  weights: /data/StableDiffusion/v1-5-pruned-emaonly.ckpt
 | 
					  weights: /data/StableDiffusion/v1-5-pruned-emaonly.ckpt
 | 
				
			||||||
  vae: /data/VAE/vae-ft-mse-840000-ema-pruned.ckpt
 | 
					  vae: /data/VAE/vae-ft-mse-840000-ema-pruned.ckpt
 | 
				
			||||||
  config: ./configs/stable-diffusion/v1-inference.yaml
 | 
					  config: /stable-diffusion/invokeai/configs/stable-diffusion/v1-inference.yaml
 | 
				
			||||||
  width: 512
 | 
					  width: 512
 | 
				
			||||||
  height: 512
 | 
					  height: 512
 | 
				
			||||||
  default: true
 | 
					  default: true
 | 
				
			||||||
@@ -17,7 +17,7 @@ inpainting-1.5:
 | 
				
			|||||||
  description: RunwayML SD 1.5 model optimized for inpainting
 | 
					  description: RunwayML SD 1.5 model optimized for inpainting
 | 
				
			||||||
  weights: /data/StableDiffusion/sd-v1-5-inpainting.ckpt
 | 
					  weights: /data/StableDiffusion/sd-v1-5-inpainting.ckpt
 | 
				
			||||||
  vae: /data/VAE/vae-ft-mse-840000-ema-pruned.ckpt
 | 
					  vae: /data/VAE/vae-ft-mse-840000-ema-pruned.ckpt
 | 
				
			||||||
  config: ./configs/stable-diffusion/v1-inpainting-inference.yaml
 | 
					  config: /stable-diffusion/invokeai/configs/stable-diffusion/v1-inpainting-inference.yaml
 | 
				
			||||||
  width: 512
 | 
					  width: 512
 | 
				
			||||||
  height: 512
 | 
					  height: 512
 | 
				
			||||||
  default: false
 | 
					  default: false
 | 
				
			||||||
@@ -1,48 +0,0 @@
 | 
				
			|||||||
# syntax=docker/dockerfile:1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
FROM python:3.10-slim
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
SHELL ["/bin/bash", "-ceuxo", "pipefail"]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ENV DEBIAN_FRONTEND=noninteractive PIP_EXISTS_ACTION=w  PIP_PREFER_BINARY=1 PIP_NO_CACHE_DIR=1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
RUN pip install torch==1.13.0 torchvision --extra-index-url https://download.pytorch.org/whl/cu117
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
RUN apt-get update && apt-get install git -y && apt-get clean
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
RUN git clone https://github.com/invoke-ai/InvokeAI.git /stable-diffusion
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
WORKDIR /stable-diffusion
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
RUN <<EOF
 | 
					 | 
				
			||||||
git reset --hard 2b7e3abe57963d199f1d825ddef87ae154c81045
 | 
					 | 
				
			||||||
git config --global http.postBuffer 1048576000
 | 
					 | 
				
			||||||
ln -sf environments-and-requirements/requirements-lin-cuda.txt requirements.txt
 | 
					 | 
				
			||||||
pip install -r requirements.txt
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ARG BRANCH=development SHA=2b7e3abe57963d199f1d825ddef87ae154c81045
 | 
					 | 
				
			||||||
RUN <<EOF
 | 
					 | 
				
			||||||
git fetch
 | 
					 | 
				
			||||||
git reset --hard
 | 
					 | 
				
			||||||
git checkout ${BRANCH}
 | 
					 | 
				
			||||||
git reset --hard ${SHA}
 | 
					 | 
				
			||||||
pip install -r requirements.txt
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
RUN pip uninstall opencv-python -y && pip install --force-reinstall opencv-python-headless==4.5.5.64
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
COPY . /docker/
 | 
					 | 
				
			||||||
RUN <<EOF
 | 
					 | 
				
			||||||
python3 /docker/info.py /stable-diffusion/frontend/dist/index.html
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ENV ROOT=/stable-diffusion PRELOAD=false CLI_ARGS=""
 | 
					 | 
				
			||||||
EXPOSE 7860
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ENTRYPOINT ["/docker/entrypoint.sh"]
 | 
					 | 
				
			||||||
CMD python3 -u scripts/invoke.py --outdir /output --web --host 0.0.0.0 --port 7860 ${CLI_ARGS}
 | 
					 | 
				
			||||||
@@ -1,13 +0,0 @@
 | 
				
			|||||||
import sys
 | 
					 | 
				
			||||||
from pathlib import Path
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
file = Path(sys.argv[1])
 | 
					 | 
				
			||||||
file.write_text(
 | 
					 | 
				
			||||||
  file.read_text()\
 | 
					 | 
				
			||||||
  .replace('  <div id="root"></div>', """
 | 
					 | 
				
			||||||
    <div id="root"></div>
 | 
					 | 
				
			||||||
    <div>
 | 
					 | 
				
			||||||
      Deployed with <a href="https://github.com/AbdBarho/stable-diffusion-webui-docker/">stable-diffusion-webui-docker</a>
 | 
					 | 
				
			||||||
    </div>
 | 
					 | 
				
			||||||
""", 1)
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
							
								
								
									
										46
									
								
								services/sygil/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								services/sygil/Dockerfile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,46 @@
 | 
				
			|||||||
 | 
					# syntax=docker/dockerfile:1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM python:3.8-slim
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SHELL ["/bin/bash", "-ceuxo", "pipefail"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENV DEBIAN_FRONTEND=noninteractive PIP_PREFER_BINARY=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN --mount=type=cache,target=/root/.cache/pip pip install torch==1.13.0 torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN apt-get update && apt install gcc libsndfile1 ffmpeg build-essential zip unzip git -y && apt-get clean
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN --mount=type=cache,target=/root/.cache/pip <<EOF
 | 
				
			||||||
 | 
					git config --global http.postBuffer 1048576000
 | 
				
			||||||
 | 
					git clone https://github.com/Sygil-Dev/sygil-webui.git stable-diffusion
 | 
				
			||||||
 | 
					cd stable-diffusion
 | 
				
			||||||
 | 
					git reset --hard 5291437085bddd16d752f811b6552419a2044d12
 | 
				
			||||||
 | 
					pip install -r requirements.txt
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ARG BRANCH=master SHA=571fb897edd58b714bb385dfaa1ad59aecef8bc7
 | 
				
			||||||
 | 
					RUN --mount=type=cache,target=/root/.cache/pip <<EOF
 | 
				
			||||||
 | 
					cd stable-diffusion
 | 
				
			||||||
 | 
					git fetch
 | 
				
			||||||
 | 
					git checkout ${BRANCH}
 | 
				
			||||||
 | 
					git reset --hard ${SHA}
 | 
				
			||||||
 | 
					pip install -r requirements.txt
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN --mount=type=cache,target=/root/.cache/pip pip install -U 'transformers>=4.24'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# add info
 | 
				
			||||||
 | 
					COPY . /docker/
 | 
				
			||||||
 | 
					RUN <<EOF
 | 
				
			||||||
 | 
					python /docker/info.py /stable-diffusion/frontend/frontend.py
 | 
				
			||||||
 | 
					chmod +x /docker/mount.sh /docker/run.sh
 | 
				
			||||||
 | 
					# streamlit
 | 
				
			||||||
 | 
					sed -i -- 's/8501/7860/g' /stable-diffusion/.streamlit/config.toml
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					WORKDIR /stable-diffusion
 | 
				
			||||||
 | 
					ENV PYTHONPATH="${PYTHONPATH}:${PWD}" STREAMLIT_SERVER_HEADLESS=true USE_STREAMLIT=0 CLI_ARGS=""
 | 
				
			||||||
 | 
					EXPOSE 7860
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CMD /docker/mount.sh && /docker/run.sh
 | 
				
			||||||
@@ -1,10 +1,11 @@
 | 
				
			|||||||
 | 
					# https://github.com/Sygil-Dev/sygil-webui/blob/master/configs/webui/webui_streamlit.yaml
 | 
				
			||||||
general:
 | 
					general:
 | 
				
			||||||
  version: 1.24.6
 | 
					  version: 1.24.6
 | 
				
			||||||
  outdir: /output
 | 
					  outdir: /output
 | 
				
			||||||
  default_model: "Stable Diffusion v1.5"
 | 
					  default_model: "Stable Diffusion v1.5"
 | 
				
			||||||
  default_model_path: /data/StableDiffusion/v1-5-pruned-emaonly.ckpt
 | 
					  default_model_path: /data/StableDiffusion/v1-5-pruned-emaonly.ckpt
 | 
				
			||||||
  outdir_txt2img: /output/txt2img-samples
 | 
					  outdir_txt2img: /output/txt2img
 | 
				
			||||||
  outdir_img2img: /output/img2img-samples
 | 
					  outdir_img2img: /output/img2img
 | 
				
			||||||
  outdir_img2txt: /output/img2txt
 | 
					  outdir_img2txt: /output/img2txt
 | 
				
			||||||
  optimized: True
 | 
					  optimized: True
 | 
				
			||||||
  optimized_turbo: True
 | 
					  optimized_turbo: True
 | 
				
			||||||
		Reference in New Issue
	
	Block a user