Dockerfile 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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=dev SHA=18a3b809275c395b9a2730c78d6bc0f9b06671e1
  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. RUN pip install transformers==4.24.0
  28. # add info
  29. COPY . /docker/
  30. RUN <<EOF
  31. python /docker/info.py /stable-diffusion/frontend/frontend.py
  32. chmod +x /docker/mount.sh /docker/run.sh
  33. # streamlit
  34. sed -i -- 's/8501/7860/g' /stable-diffusion/.streamlit/config.toml
  35. EOF
  36. WORKDIR /stable-diffusion
  37. ENV PYTHONPATH="${PYTHONPATH}:${PWD}" STREAMLIT_SERVER_HEADLESS=true USE_STREAMLIT=0 CLI_ARGS=""
  38. EXPOSE 7860
  39. CMD /docker/mount.sh && /docker/run.sh