Team Ai
Apppublic

protoxx91/stable-diffusion-webui-controlnet-docker

sourceHugging Faceupdated 4y agoView on Hugging Face
1likes
Dockerfile125 linesDownload Raw Back to root
1FROM nvidia/cuda:11.7.1-cudnn8-devel-ubuntu22.042 3ENV DEBIAN_FRONTEND noninteractive4ENV PYTHONUNBUFFERED=15ENV PIP_DISABLE_PIP_VERSION_CHECK=16ENV PIP_NO_CACHE_DIR=17 8# OS setup9RUN apt-get update -y \10    && apt-get upgrade -y \11    && apt-get install -y \12        libgl1 \13        libglib2.0-0 \14        curl \15        vim \16        wget \17        git \18        git-lfs \19        tzdata \20        bash \21        ca-certificates \22        libreadline8 \23        bzip2 \24        psmisc \25        procps \26        netbase \27        openssh-client \28        libsqlite3-dev \29        python3-pip \30        python3-venv \31        python-is-python3 \32        build-essential \33        libssl-dev \34        libffi-dev \35        aria2 \36    \37    && pip3 install --upgrade pip \38    \39    && git lfs install \40    \41    && apt-get clean autoclean \42    && apt-get autoremove --yes \43    && rm -rf /var/lib/apt/lists/*44 45# OS timezone setting (UTC)46RUN echo "UTC" > /etc/timezone47ENV TZ=UTC48 49# Poetry for Python packages50RUN curl -sSL https://install.python-poetry.org | POETRY_HOME=/usr/local/poetry python3 - --yes \51    && ln -s /usr/local/poetry/bin/poetry /usr/bin/poetry \52    \53    && poetry config virtualenvs.create false \54    && poetry config virtualenvs.in-project false55 56# Create non-root user57ENV ENV="/etc/profile"58RUN adduser --disabled-password --gecos '' user && \59    mkdir -p /app && \60    chown -R user:user /app && \61    printf "\n. /etc/profile\n" >> /home/user/.profile \62    printf "\n. /etc/profile\n" >> /home/user/.bashrc63 64# Sets up virtualenv for dependencies65ENV VIRTUAL_ENV="/opt/venv"66ENV VIRTUAL_ENV_DISABLE_PROMPT=167ENV POETRY_ACTIVE=168ENV PATH="$VIRTUAL_ENV/bin:$PATH"69RUN echo "export PATH=$PATH" >> /home/user/.bashrc \70    && python3 -m venv $VIRTUAL_ENV \71    && /opt/venv/bin/pip install --upgrade --no-cache-dir pip \72    && chown -R user:user /opt/venv73 74# Run as non-root user75USER user76WORKDIR /app77 78# Installation of basic Python dependencies specified in pyproject.toml79COPY --chown=user:user pyproject.toml poetry.lock /app/80RUN poetry install81 82# AUTOMATIC1111' WebUI83RUN git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui /app/stable-diffusion-webui \84    && (cd /app/stable-diffusion-webui && git checkout 0cc0ee1bcb4c24a8c9715f66cede06601bfc00c8)85 86# Deforum extension87RUN git clone https://github.com/deforum-art/deforum-for-automatic1111-webui /app/stable-diffusion-webui/extensions/deforum-for-automatic1111-webui \88    && (cd /app/stable-diffusion-webui/extensions/deforum-for-automatic1111-webui && git checkout b60d999202f0fd2b386150d0938c43e639db8643)89 90# Images Browser WebUI extension91RUN git clone https://github.com/yfszzx/stable-diffusion-webui-images-browser /app/stable-diffusion-webui/extensions/stable-diffusion-webui-images-browser \92    && (cd /app/stable-diffusion-webui/extensions/stable-diffusion-webui-images-browser && git checkout a42c7a30181636a05815e62426d5eff4d3340529)93 94# CiviTAI Browser WebUI extension95RUN git clone https://github.com/Vetchems/sd-civitai-browser /app/stable-diffusion-webui/extensions/sd-civitai-browser \96    && (cd /app/stable-diffusion-webui/extensions/sd-civitai-browser && git checkout b25a5daf7df3f6340d3e243d533228d8ade5288d)97 98# Additional Networks WebUI extension99RUN git clone https://github.com/kohya-ss/sd-webui-additional-networks /app/stable-diffusion-webui/extensions/sd-webui-additional-networks \100    && (cd /app/stable-diffusion-webui/extensions/sd-webui-additional-networks && git checkout 822f2136fa6d63b85663597b03ef3edafab01187) \101    && mkdir -p /app/stable-diffusion-webui/extensions/sd-webui-additional-networks/models/LoRA102 103# ControlNet WebUI extension104RUN git clone https://github.com/Mikubill/sd-webui-controlnet /app/stable-diffusion-webui/extensions/sd-webui-controlnet \105    && (cd /app/stable-diffusion-webui/extensions/sd-webui-controlnet && git checkout 5c74f300c3ac04323963af80dd2b971a7c2b2b29) \106    && mkdir -p /app/stable-diffusion-webui/models/ControlNet107 108# Prepare WebUI environment109WORKDIR /app/stable-diffusion-webui110RUN /opt/venv/bin/python launch.py --exit --skip-torch-cuda-test --xformers111 112# Patch WebUI113RUN sed -i -e 's/                show_progress=False,/                show_progress=True,/g' modules/ui.py114RUN sed -i -e 's/shared.demo.launch/shared.demo.queue().launch/g' webui.py115RUN sed -i -e 's/ outputs=\[/queue=False, &/g' modules/ui.py116RUN sed -i -e 's/               queue=False,  /                /g' modules/ui.py117 118# Copy startup scripts119COPY --chown=user:user run.py on_start.sh config.json ui-config.json shared-config.json shared-ui-config.json header_patch.py /app/stable-diffusion-webui/120RUN chmod +x on_start.sh121 122EXPOSE 7860123 124CMD ["/opt/venv/bin/python", "run.py", "--listen", "--enable-insecure-extension-access", "--ui-config-file", "ui-config.json", "--ui-settings-file", "config.json", "--disable-console-progressbars", "--cors-allow-origins", "huggingface.co,hf.space", "--no-progressbar-hiding", "--enable-console-prompts", "--no-download-sd-model", "--api", "--skip-version-check"]125