stable-diffusion-webui-docker/services/hlky/Dockerfile

60 lines
1.8 KiB
Docker
Raw Normal View History

2022-08-27 11:38:12 +00:00
# syntax=docker/dockerfile:1
FROM continuumio/miniconda3:4.12.0
2022-09-03 15:36:19 +00:00
SHELL ["/bin/bash", "-ceuxo", "pipefail"]
ENV DEBIAN_FRONTEND=noninteractive
2022-08-27 11:38:12 +00: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 15:36:19 +00:00
RUN apt-get update && apt install fonts-dejavu-core rsync -y && apt-get clean
2022-09-03 15:36:19 +00:00
RUN <<EOF
2022-09-07 17:45:03 +00:00
git clone https://github.com/sd-webui/stable-diffusion-webui.git stable-diffusion
2022-09-03 15:36:19 +00:00
cd stable-diffusion
git reset --hard 7623a5734740025d79b710f3744bff9276e1467b
2022-09-03 15:36:19 +00: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 11:38:12 +00:00
2022-08-28 11:35:40 +00: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
ARG BRANCH=master
ARG SHA=e6a9e5d968aad020e54045a0923d8c6aa0b54591
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
2022-09-03 15:36:19 +00:00
# Latent diffusion
RUN <<EOF
git clone https://github.com/Hafiidz/latent-diffusion.git
cd latent-diffusion
git reset --hard e1a84a89fcbb49881546cf2acf1e7e250923dba0
# 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 17:09:15 +00:00
# add info
COPY . /docker/
2022-09-07 17:45:03 +00:00
RUN python /docker/info.py /stable-diffusion/frontend/frontend.py && chmod +x /docker/mount.sh
2022-08-28 17:09:15 +00:00
2022-08-27 11:38:12 +00:00
WORKDIR /stable-diffusion
ENV TRANSFORMERS_CACHE=/cache/transformers TORCH_HOME=/cache/torch CLI_ARGS=""
2022-08-27 11:38:12 +00:00
EXPOSE 7860
# run, -u to not buffer stdout / stderr
CMD /docker/mount.sh && python3 -u scripts/webui.py --outdir /output --ckpt /cache/models/model.ckpt --ldsr-dir /latent-diffusion ${CLI_ARGS}