parent
9e7979b756
commit
23757d2356
@ -51,7 +51,7 @@ services:
|
||||
<<: *base_service
|
||||
profiles: ["lstein"]
|
||||
build: ./services/lstein/
|
||||
image: sd-lstein:6
|
||||
image: sd-lstein:7
|
||||
environment:
|
||||
- PRELOAD=true
|
||||
- CLI_ARGS=--max_loaded_models=1
|
||||
|
@ -1,37 +1,35 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
FROM continuumio/miniconda3:4.12.0
|
||||
FROM python:3.10-slim
|
||||
|
||||
SHELL ["/bin/bash", "-ceuxo", "pipefail"]
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive PIP_EXISTS_ACTION=w PIP_PREFER_BINARY=1 PIP_NO_CACHE_DIR=1
|
||||
|
||||
# now it requires python3.9
|
||||
RUN conda install python=3.9 && conda clean -a -y
|
||||
RUN conda install cudatoolkit=11.6 -c conda-forge && conda clean -a -y
|
||||
RUN conda install pytorch==1.12.1 -c pytorch && conda clean -a -y
|
||||
|
||||
RUN apt-get update && apt install fonts-dejavu-core -y && apt-get clean
|
||||
RUN pip install torch==1.13.0 torchvision --extra-index-url https://download.pytorch.org/whl/cu117
|
||||
|
||||
RUN apt-get update && apt-get install git -y && apt-get clean
|
||||
|
||||
RUN git clone https://github.com/invoke-ai/InvokeAI.git /stable-diffusion
|
||||
|
||||
WORKDIR /stable-diffusion
|
||||
|
||||
RUN <<EOF
|
||||
git clone https://github.com/invoke-ai/InvokeAI.git stable-diffusion
|
||||
cd stable-diffusion
|
||||
git reset --hard 6b89adfa7ebd4591ed91a76ecf152e3517cda385
|
||||
git reset --hard 2b7e3abe57963d199f1d825ddef87ae154c81045
|
||||
git config --global http.postBuffer 1048576000
|
||||
conda env update --file environment.yml -n base
|
||||
conda clean -a -y
|
||||
ln -sf environments-and-requirements/requirements-lin-cuda.txt requirements.txt
|
||||
pip install -r requirements.txt
|
||||
EOF
|
||||
|
||||
|
||||
ARG BRANCH=main SHA=6b89adfa7ebd4591ed91a76ecf152e3517cda385
|
||||
ARG BRANCH=development SHA=2b7e3abe57963d199f1d825ddef87ae154c81045
|
||||
RUN <<EOF
|
||||
cd stable-diffusion
|
||||
git fetch
|
||||
git reset --hard
|
||||
git checkout ${BRANCH}
|
||||
git reset --hard ${SHA}
|
||||
conda env update --file environment.yml -n base
|
||||
conda clean -a -y
|
||||
pip install -r requirements.txt
|
||||
EOF
|
||||
|
||||
RUN pip uninstall opencv-python -y && pip install --force-reinstall opencv-python-headless==4.5.5.64
|
||||
@ -42,8 +40,7 @@ python3 /docker/info.py /stable-diffusion/frontend/dist/index.html
|
||||
EOF
|
||||
|
||||
|
||||
ENV PRELOAD=false CLI_ARGS=""
|
||||
WORKDIR /stable-diffusion
|
||||
ENV ROOT=/stable-diffusion PRELOAD=false CLI_ARGS=""
|
||||
EXPOSE 7860
|
||||
|
||||
|
||||
|
@ -6,21 +6,36 @@ declare -A MOUNTS
|
||||
|
||||
# cache
|
||||
MOUNTS["/root/.cache"]=/data/.cache
|
||||
|
||||
# ui specific
|
||||
MOUNTS["${PWD}/src/gfpgan/experiments/pretrained_models/GFPGANv1.4.pth"]=/data/GFPGAN/GFPGANv1.4.pth
|
||||
MOUNTS["${PWD}/ldm/invoke/restoration/codeformer/weights"]=/data/Codeformer
|
||||
MOUNTS["${PWD}/configs/models.yaml"]=/docker/models.yaml
|
||||
MOUNTS["${ROOT}/models/codeformer"]=/data/Codeformer/
|
||||
|
||||
MOUNTS["${ROOT}/models/gfpgan/GFPGANv1.4.pth"]=/data/GFPGAN/GFPGANv1.4.pth
|
||||
MOUNTS["${ROOT}/models/gfpgan/weights"]=/data/.cache/
|
||||
|
||||
MOUNTS["${ROOT}/models/realesrgan"]=/data/RealESRGAN/
|
||||
|
||||
MOUNTS["${ROOT}/models/bert-base-uncased"]=/data/.cache/huggingface/transformers
|
||||
MOUNTS["${ROOT}/models/openai/clip-vit-large-patch14"]=/data/.cache/huggingface/transformers
|
||||
MOUNTS["${ROOT}/models/CompVis/stable-diffusion-safety-checker"]=/data/.cache/huggingface/transformers
|
||||
|
||||
MOUNTS["${ROOT}/configs/models.yaml"]=/docker/models.yaml
|
||||
# hacks
|
||||
MOUNTS["/opt/conda/lib/python3.9/site-packages/facexlib/weights"]=/data/.cache
|
||||
MOUNTS["/opt/conda/lib/python3.9/site-packages/realesrgan/weights"]=/data/RealESRGAN
|
||||
MOUNTS["${PWD}/src/realesrgan/weights"]=/data/RealESRGAN
|
||||
MOUNTS["${PWD}/gfpgan/weights"]=/data/.cache
|
||||
MOUNTS["/opt/conda/lib/python3.10/site-packages/facexlib/weights"]=/data/.cache/
|
||||
MOUNTS["${ROOT}/models/clipseg"]=/data/.cache/invoke/clipseg/
|
||||
|
||||
# MOUNTS["/opt/conda/lib/python3.9/site-packages/realesrgan/weights"]=/data/RealESRGAN
|
||||
|
||||
for to_path in "${!MOUNTS[@]}"; do
|
||||
set -Eeuo pipefail
|
||||
from_path="${MOUNTS[${to_path}]}"
|
||||
rm -rf "${to_path}"
|
||||
mkdir -p "$(dirname "${to_path}")"
|
||||
# ends with slash, make it!
|
||||
if [[ "$from_path" == */ ]]; then
|
||||
mkdir -vp "$from_path"
|
||||
fi
|
||||
|
||||
ln -sT "${from_path}" "${to_path}"
|
||||
echo Mounted $(basename "${from_path}")
|
||||
done
|
||||
|
Loading…
Reference in New Issue
Block a user