| 
									
										
										
										
											2022-08-27 12:38:12 +01:00
										 |  |  | # syntax=docker/dockerfile:1
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | FROM continuumio/miniconda3:4.12.0
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-03 17:36:19 +02:00
										 |  |  | SHELL ["/bin/bash", "-ceuxo", "pipefail"]
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-11 20:18:50 +02:00
										 |  |  | ENV DEBIAN_FRONTEND=noninteractive | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-27 12:38:12 +01:00
										 |  |  | 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
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-03 17:36:19 +02:00
										 |  |  | RUN apt-get update && apt install fonts-dejavu-core rsync -y && apt-get clean
 | 
					
						
							| 
									
										
										
										
											2022-09-02 09:55:36 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-03 17:36:19 +02:00
										 |  |  | RUN <<EOF
 | 
					
						
							| 
									
										
										
										
											2022-09-07 19:45:03 +02:00
										 |  |  | git clone https://github.com/sd-webui/stable-diffusion-webui.git stable-diffusion
 | 
					
						
							| 
									
										
										
										
											2022-09-03 17:36:19 +02:00
										 |  |  | cd stable-diffusion
 | 
					
						
							| 
									
										
										
										
											2022-09-12 22:21:03 +02:00
										 |  |  | git reset --hard 7623a5734740025d79b710f3744bff9276e1467b
 | 
					
						
							| 
									
										
										
										
											2022-09-03 17:36:19 +02:00
										 |  |  | conda env update --file environment.yaml -n base
 | 
					
						
							|  |  |  | conda clean -a -y
 | 
					
						
							|  |  |  | EOF
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # new dependency, should be added to the environment.yaml
 | 
					
						
							|  |  |  | RUN pip install -U --no-cache-dir pyperclip
 | 
					
						
							| 
									
										
										
										
											2022-08-27 12:38:12 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-28 13:35:40 +02:00
										 |  |  | # Note: don't update the sha of previous versions because the install will take forever
 | 
					
						
							|  |  |  | # instead, update the repo state in a later step
 | 
					
						
							| 
									
										
										
										
											2022-09-11 20:18:50 +02:00
										 |  |  | ARG BRANCH=master | 
					
						
							| 
									
										
										
										
											2022-09-12 22:21:03 +02:00
										 |  |  | ARG SHA=7623a5734740025d79b710f3744bff9276e1467b | 
					
						
							| 
									
										
										
										
											2022-09-11 05:25:45 +02:00
										 |  |  | RUN <<EOF
 | 
					
						
							|  |  |  | cd stable-diffusion
 | 
					
						
							|  |  |  | git fetch
 | 
					
						
							|  |  |  | git checkout ${BRANCH}
 | 
					
						
							| 
									
										
										
										
											2022-09-11 20:18:50 +02:00
										 |  |  | git reset --hard ${SHA}
 | 
					
						
							| 
									
										
										
										
											2022-09-11 05:25:45 +02:00
										 |  |  | conda env update --file environment.yaml -n base
 | 
					
						
							|  |  |  | conda clean -a -y
 | 
					
						
							|  |  |  | EOF
 | 
					
						
							| 
									
										
										
										
											2022-09-03 17:36:19 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-02 09:55:36 +02:00
										 |  |  | # Latent diffusion
 | 
					
						
							|  |  |  | RUN <<EOF
 | 
					
						
							| 
									
										
										
										
											2022-09-11 20:18:50 +02:00
										 |  |  | git clone https://github.com/Hafiidz/latent-diffusion.git
 | 
					
						
							|  |  |  | cd latent-diffusion
 | 
					
						
							|  |  |  | git reset --hard e1a84a89fcbb49881546cf2acf1e7e250923dba0
 | 
					
						
							| 
									
										
										
										
											2022-09-02 09:55:36 +02:00
										 |  |  | # hacks all the way down
 | 
					
						
							|  |  |  | mv ldm ldm_latent &&
 | 
					
						
							|  |  |  | sed -i -- 's/from ldm/from ldm_latent/g' *.py
 | 
					
						
							|  |  |  | # dont forget to update the yaml!!
 | 
					
						
							|  |  |  | EOF
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-28 19:09:15 +02:00
										 |  |  | # add info
 | 
					
						
							| 
									
										
										
										
											2022-09-02 09:55:36 +02:00
										 |  |  | COPY . /docker/
 | 
					
						
							| 
									
										
										
										
											2022-09-07 19:45:03 +02:00
										 |  |  | RUN python /docker/info.py /stable-diffusion/frontend/frontend.py && chmod +x /docker/mount.sh
 | 
					
						
							| 
									
										
										
										
											2022-08-28 19:09:15 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-27 12:38:12 +01:00
										 |  |  | WORKDIR /stable-diffusion
 | 
					
						
							| 
									
										
										
										
											2022-09-02 09:55:36 +02:00
										 |  |  | ENV TRANSFORMERS_CACHE=/cache/transformers TORCH_HOME=/cache/torch CLI_ARGS=""
 | 
					
						
							| 
									
										
										
										
											2022-08-27 12:38:12 +01:00
										 |  |  | EXPOSE 7860
 | 
					
						
							| 
									
										
										
										
											2022-09-02 09:55:36 +02:00
										 |  |  | # run, -u to not buffer stdout / stderr
 | 
					
						
							| 
									
										
										
										
											2022-09-11 20:18:50 +02:00
										 |  |  | CMD /docker/mount.sh && python3 -u scripts/webui.py --outdir /output --ckpt /cache/models/model.ckpt --ldsr-dir /latent-diffusion ${CLI_ARGS}
 |