Dockerfile 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. # syntax=docker/dockerfile:1
  2. FROM continuumio/miniconda3:4.12.0
  3. SHELL ["/bin/bash", "-ceuxo", "pipefail"]
  4. ENV DEBIAN_FRONTEND=noninteractive
  5. RUN conda install python=3.8.5 && conda clean -a -y
  6. RUN conda install pytorch==1.11.0 torchvision==0.12.0 cudatoolkit=11.3 -c pytorch && conda clean -a -y
  7. RUN apt-get update && apt install fonts-dejavu-core rsync gcc -y && apt-get clean
  8. ENV PIP_PREFER_BINARY=1 PIP_NO_CACHE_DIR=1
  9. RUN <<EOF
  10. git config --global http.postBuffer 1048576000
  11. git clone https://github.com/Sygil-Dev/sygil-webui.git stable-diffusion
  12. cd stable-diffusion
  13. git reset --hard 091520bed06f913c9f432f9f47ccbe22b46068d7
  14. conda env update --file environment.yaml -n base
  15. conda clean -a -y
  16. EOF
  17. RUN apt-get update && apt install libsndfile1 ffmpeg -y && apt-get clean
  18. ARG BRANCH=master SHA=09b64d4f759c44c7c6bc4d433ddd8e964d48b854
  19. RUN <<EOF
  20. cd stable-diffusion
  21. git fetch
  22. git checkout ${BRANCH}
  23. git reset --hard ${SHA}
  24. conda env update --file environment.yaml -n base
  25. conda clean -a -y
  26. EOF
  27. # add info
  28. COPY . /docker/
  29. RUN <<EOF
  30. python /docker/info.py /stable-diffusion/frontend/frontend.py
  31. chmod +x /docker/mount.sh /docker/run.sh
  32. # streamlit
  33. sed -i -- 's/8501/7860/g' /stable-diffusion/.streamlit/config.toml
  34. EOF
  35. WORKDIR /stable-diffusion
  36. ENV PYTHONPATH="${PYTHONPATH}:${PWD}" STREAMLIT_SERVER_HEADLESS=true USE_STREAMLIT=0 CLI_ARGS=""
  37. EXPOSE 7860
  38. CMD /docker/mount.sh && /docker/run.sh