| 
									
										
										
										
											2022-09-05 19:51:22 +02:00
										 |  |  | # syntax=docker/dockerfile:1
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | FROM continuumio/miniconda3:4.12.0
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | SHELL ["/bin/bash", "-ceuxo", "pipefail"]
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-29 22:02:35 +02:00
										 |  |  | ENV DEBIAN_FRONTEND=noninteractive PIP_EXISTS_ACTION=w  PIP_PREFER_BINARY=1 PIP_NO_CACHE_DIR=1 | 
					
						
							| 
									
										
										
										
											2022-09-11 20:18:50 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-18 13:49:06 +02:00
										 |  |  | # now it requires python3.9
 | 
					
						
							| 
									
										
										
										
											2022-09-19 22:02:46 +02:00
										 |  |  | RUN conda install python=3.9 && conda clean -a -y
 | 
					
						
							| 
									
										
										
										
											2022-11-04 22:35:44 +01:00
										 |  |  | RUN conda install cudatoolkit=11.6 -c conda-forge && conda clean -a -y
 | 
					
						
							|  |  |  | RUN conda install pytorch==1.12.1 -c pytorch && conda clean -a -y
 | 
					
						
							| 
									
										
										
										
											2022-09-05 19:51:22 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-29 22:02:35 +02:00
										 |  |  | RUN apt-get update && apt install fonts-dejavu-core -y && apt-get clean
 | 
					
						
							| 
									
										
										
										
											2022-09-05 19:51:22 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | RUN <<EOF
 | 
					
						
							| 
									
										
										
										
											2022-09-21 19:10:27 +02:00
										 |  |  | git clone https://github.com/invoke-ai/InvokeAI.git stable-diffusion
 | 
					
						
							| 
									
										
										
										
											2022-09-05 19:51:22 +02:00
										 |  |  | cd stable-diffusion
 | 
					
						
							| 
									
										
										
										
											2022-11-04 22:35:44 +01:00
										 |  |  | git reset --hard 6b89adfa7ebd4591ed91a76ecf152e3517cda385
 | 
					
						
							| 
									
										
										
										
											2022-10-07 09:46:07 +02:00
										 |  |  | git config --global http.postBuffer 1048576000
 | 
					
						
							| 
									
										
										
										
											2022-11-04 22:35:44 +01:00
										 |  |  | conda env update --file environment.yml -n base
 | 
					
						
							| 
									
										
										
										
											2022-09-19 22:02:46 +02:00
										 |  |  | conda clean -a -y
 | 
					
						
							| 
									
										
										
										
											2022-09-05 19:51:22 +02:00
										 |  |  | EOF
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-11-04 22:35:44 +01:00
										 |  |  | ARG BRANCH=main SHA=6b89adfa7ebd4591ed91a76ecf152e3517cda385 | 
					
						
							| 
									
										
										
										
											2022-09-16 16:40:20 +02:00
										 |  |  | RUN <<EOF
 | 
					
						
							|  |  |  | cd stable-diffusion
 | 
					
						
							|  |  |  | git fetch
 | 
					
						
							| 
									
										
										
										
											2022-09-19 22:02:46 +02:00
										 |  |  | git reset --hard
 | 
					
						
							| 
									
										
										
										
											2022-09-16 16:40:20 +02:00
										 |  |  | git checkout ${BRANCH}
 | 
					
						
							|  |  |  | git reset --hard ${SHA}
 | 
					
						
							| 
									
										
										
										
											2022-09-30 09:37:27 +02:00
										 |  |  | conda env update --file environment.yml -n base
 | 
					
						
							| 
									
										
										
										
											2022-09-16 16:40:20 +02:00
										 |  |  | conda clean -a -y
 | 
					
						
							|  |  |  | EOF
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-11-04 22:35:44 +01:00
										 |  |  | RUN pip uninstall opencv-python -y && pip install --force-reinstall opencv-python-headless==4.5.5.64
 | 
					
						
							| 
									
										
										
										
											2022-09-16 16:40:20 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | COPY . /docker/
 | 
					
						
							| 
									
										
										
										
											2022-09-19 22:02:46 +02:00
										 |  |  | RUN <<EOF
 | 
					
						
							| 
									
										
										
										
											2022-10-07 09:46:07 +02:00
										 |  |  | python3 /docker/info.py /stable-diffusion/frontend/dist/index.html
 | 
					
						
							| 
									
										
										
										
											2022-09-19 22:02:46 +02:00
										 |  |  | EOF
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-05 19:51:22 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-07 09:46:07 +02:00
										 |  |  | ENV PRELOAD=false CLI_ARGS=""
 | 
					
						
							| 
									
										
										
										
											2022-09-16 16:40:20 +02:00
										 |  |  | WORKDIR /stable-diffusion
 | 
					
						
							| 
									
										
										
										
											2022-09-05 19:51:22 +02:00
										 |  |  | EXPOSE 7860
 | 
					
						
							| 
									
										
										
										
											2022-09-16 16:40:20 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-11-04 22:35:44 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | ENTRYPOINT ["/docker/entrypoint.sh"]
 | 
					
						
							|  |  |  | CMD python3 -u scripts/invoke.py --outdir /output --web --host 0.0.0.0 --port 7860 ${CLI_ARGS}
 |