Make Dockerfiles OCI compliant

This commit is contained in:
AJ Walter 2023-04-12 18:15:57 -05:00
parent 5d379bf7bc
commit a7036c6072
No known key found for this signature in database
GPG key ID: 35E1B7402B490F34
5 changed files with 74 additions and 73 deletions

View file

@ -2,44 +2,41 @@
FROM python:3.8-slim
SHELL ["/bin/bash", "-ceuxo", "pipefail"]
ENV DEBIAN_FRONTEND=noninteractive PIP_PREFER_BINARY=1
RUN --mount=type=cache,target=/root/.cache/pip pip install torch==1.13.0 torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117
RUN apt-get update && apt install gcc libsndfile1 ffmpeg build-essential zip unzip git -y && apt-get clean
RUN --mount=type=cache,target=/root/.cache/pip <<EOF
git config --global http.postBuffer 1048576000
git clone https://github.com/Sygil-Dev/sygil-webui.git stable-diffusion
cd stable-diffusion
git reset --hard 5291437085bddd16d752f811b6552419a2044d12
pip install -r requirements.txt
EOF
RUN --mount=type=cache,target=/root/.cache/pip \
git config --global http.postBuffer 1048576000 && \
git clone https://github.com/Sygil-Dev/sygil-webui.git stable-diffusion && \
cd stable-diffusion && \
git reset --hard 5291437085bddd16d752f811b6552419a2044d12 && \
pip install -r requirements.txt
ARG BRANCH=master SHA=571fb897edd58b714bb385dfaa1ad59aecef8bc7
RUN --mount=type=cache,target=/root/.cache/pip <<EOF
cd stable-diffusion
git fetch
git checkout ${BRANCH}
git reset --hard ${SHA}
pip install -r requirements.txt
EOF
RUN --mount=type=cache,target=/root/.cache/pip \
cd stable-diffusion && \
git fetch && \
git checkout ${BRANCH} && \
git reset --hard ${SHA} && \
pip install -r requirements.txt
RUN --mount=type=cache,target=/root/.cache/pip pip install -U 'transformers>=4.24'
# add info
COPY . /docker/
RUN <<EOF
python /docker/info.py /stable-diffusion/frontend/frontend.py
chmod +x /docker/mount.sh /docker/run.sh
# streamlit
sed -i -- 's/8501/7860/g' /stable-diffusion/.streamlit/config.toml
EOF
RUN \
python /docker/info.py /stable-diffusion/frontend/frontend.py && \
chmod +x /docker/mount.sh /docker/run.sh && \
# streamlit \
sed -i -- 's/8501/7860/g' /stable-diffusion/.streamlit/config.toml
WORKDIR /stable-diffusion
ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility
ENV NVIDIA_VISIBLE_DEVICES=all
ENV PYTHONPATH="${PYTHONPATH}:${PWD}" STREAMLIT_SERVER_HEADLESS=true USE_STREAMLIT=0 CLI_ARGS=""
EXPOSE 7860