beowcow commited on
Commit
1f52ca7
·
verified ·
1 Parent(s): 3cbdde3

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +71 -124
Dockerfile CHANGED
@@ -1,124 +1,71 @@
1
- # Stage 1: Base
2
- FROM nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04 as base
3
-
4
- ARG FACEFUSION_VERSION=2.2.1
5
- USER root
6
- SHELL ["/bin/bash", "-o", "pipefail", "-c"]
7
- ENV DEBIAN_FRONTEND=noninteractive \
8
- PYTHONUNBUFFERED=1 \
9
- PIP_NO_CACHE_DIR=on \
10
- SHELL=/bin/bash
11
-
12
- # Create workspace working directory
13
- WORKDIR /
14
-
15
- # Install Ubuntu packages
16
- RUN apt update && \
17
- apt -y upgrade && \
18
- apt install -y --no-install-recommends \
19
- software-properties-common \
20
- build-essential \
21
- python3.10-venv \
22
- python3-pip \
23
- python3-tk \
24
- python3-dev \
25
- nginx \
26
- bash \
27
- dos2unix \
28
- git \
29
- ncdu \
30
- net-tools \
31
- openssh-server \
32
- libglib2.0-0 \
33
- libsm6 \
34
- libgl1 \
35
- libxrender1 \
36
- libxext6 \
37
- ffmpeg \
38
- wget \
39
- curl \
40
- psmisc \
41
- rsync \
42
- vim \
43
- zip \
44
- unzip \
45
- htop \
46
- screen \
47
- tmux \
48
- pkg-config \
49
- libcairo2-dev \
50
- libgoogle-perftools4 \
51
- libtcmalloc-minimal4 \
52
- apt-transport-https \
53
- ca-certificates && \
54
- update-ca-certificates && \
55
- apt clean && \
56
- rm -rf /var/lib/apt/lists/* && \
57
- echo "en_US.UTF-8 UTF-8" > /etc/locale.gen
58
-
59
- RUN git clone https://github.com/ashleykleynhans/facefusion-docker
60
- RUN ls facefusion-docker
61
- RUN cp facefusion-docker/nginx/nginx.conf /etc/nginx/nginx.conf && \
62
- cp facefusion-docker/nginx/502.html /usr/share/nginx/html/502.html
63
- #COPY nginx/nginx.conf /etc/nginx/nginx.conf
64
- #COPY nginx/502.html /usr/share/nginx/html/502.html
65
- # Set Python
66
- RUN ln -s /usr/bin/python3.10 /usr/bin/python
67
-
68
- # Stage 2: Install FaceFusion and python modules
69
- FROM base as setup
70
-
71
- # Create and use the Python venv
72
- RUN python3 -m venv /venv
73
-
74
- # Clone the git repo of FaceFusion and set version
75
- WORKDIR /
76
-
77
-
78
- RUN git clone --no-checkout https://github.com/Zebraslive/facefusion.git && \
79
- cd /facefusion
80
-
81
- # Install the dependencies for FaceFusion
82
- WORKDIR /facefusion
83
- RUN source /venv/bin/activate && \
84
- python3 install.py --torch cuda --onnxruntime cuda && \
85
- deactivate
86
-
87
- # Install Jupyter
88
- RUN pip3 install -U --no-cache-dir jupyterlab \
89
- jupyterlab_widgets \
90
- ipykernel \
91
- ipywidgets \
92
- gdown
93
-
94
- # Install rclone
95
- RUN curl https://rclone.org/install.sh | bash
96
-
97
- # Install runpodctl
98
- RUN wget https://github.com/runpod/runpodctl/releases/download/v1.10.0/runpodctl-linux-amd -O runpodctl && \
99
- chmod a+x runpodctl && \
100
- mv runpodctl /usr/local/bin
101
-
102
- # Install croc
103
- RUN curl https://getcroc.schollz.com | bash
104
-
105
- # Install speedtest CLI
106
- RUN curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | bash && \
107
- apt install speedtest
108
-
109
- # Remove existing SSH host keys
110
- RUN rm -f /etc/ssh/ssh_host_*
111
-
112
-
113
-
114
-
115
- # Set up the container startup script
116
- WORKDIR /
117
-
118
- # Copy the scripts
119
- COPY --chmod=755 scripts/* ./
120
-
121
- # Start the container
122
- ENV TEMPLATE_VERSION=2.2.3
123
- SHELL ["/bin/bash", "--login", "-c"]
124
- CMD [ "/start.sh" ]
 
1
+ # Dockerfile.Stable
2
+
3
+ # https://gitlab.com/nvidia/container-images/cuda/-/blob/master/dist/11.7.1/ubuntu2204/devel/cudnn8/Dockerfile
4
+ # FROM nvidia/cuda:11.7.1-cudnn8-devel-ubuntu22.04
5
+ # https://gitlab.com/nvidia/container-images/cuda/-/blob/master/dist/11.7.1/ubuntu2204/base/Dockerfile
6
+ FROM nvidia/cuda:11.7.1-base-ubuntu22.04
7
+ ENV DEBIAN_FRONTEND noninteractive
8
+
9
+ RUN apt-get update -y && apt-get upgrade -y && apt-get install -y libgl1 libglib2.0-0 wget git git-lfs python3-pip python-is-python3 libcairo2-dev pkg-config python3-dev && rm -rf /var/lib/apt/lists/*
10
+
11
+ RUN adduser --disabled-password --gecos '' user
12
+ RUN mkdir /content && chown -R user:user /content
13
+ WORKDIR /content
14
+ USER user
15
+
16
+ RUN pip3 install --upgrade pip
17
+ RUN pip install xformers==0.0.16
18
+ RUN pip install triton==2.0.0
19
+ RUN pip install numexpr
20
+
21
+
22
+ RUN git clone -b v2.0 https://github.com/camenduru/stable-diffusion-webui
23
+ ADD --chown=user https://raw.githubusercontent.com/camenduru/stable-diffusion-webui-scripts/main/run_n_times.py /content/stable-diffusion-webui/scripts/run_n_times.py
24
+ RUN git clone https://github.com/deforum-art/deforum-for-automatic1111-webui /content/stable-diffusion-webui/extensions/deforum-for-automatic1111-webui
25
+ RUN git clone https://github.com/AlUlkesh/stable-diffusion-webui-images-browser /content/stable-diffusion-webui/extensions/stable-diffusion-webui-images-browser
26
+ RUN git clone https://github.com/camenduru/stable-diffusion-webui-huggingface /content/stable-diffusion-webui/extensions/stable-diffusion-webui-huggingface
27
+ RUN git clone -b v2.0 https://github.com/camenduru/sd-civitai-browser /content/stable-diffusion-webui/extensions/sd-civitai-browser
28
+ RUN git clone https://github.com/kohya-ss/sd-webui-additional-networks /content/stable-diffusion-webui/extensions/sd-webui-additional-networks
29
+ RUN git clone https://github.com/Mikubill/sd-webui-controlnet /content/stable-diffusion-webui/extensions/sd-webui-controlnet
30
+ RUN git clone https://github.com/camenduru/openpose-editor /content/stable-diffusion-webui/extensions/openpose-editor
31
+ RUN git clone https://github.com/Zebraslive/sd-wav2lip-uhq /content/stable-diffusion-webui/extensions/sd-wav2lip-uhq
32
+ RUN git clone https://github.com/jexom/sd-webui-depth-lib /content/stable-diffusion-webui/extensions/sd-webui-depth-lib
33
+ RUN git clone https://github.com/hnmr293/posex /content/stable-diffusion-webui/extensions/posex
34
+ RUN git clone https://github.com/camenduru/sd-webui-tunnels /content/stable-diffusion-webui/extensions/sd-webui-tunnels
35
+ RUN git clone https://github.com/etherealxx/batchlinks-webui /content/stable-diffusion-webui/extensions/batchlinks-webui
36
+ RUN cd stable-diffusion-webui && git reset --hard
37
+
38
+ ADD --chown=user https://huggingface.co/ckpt/ControlNet/resolve/main/control_canny-fp16.safetensors /content/stable-diffusion-webui/extensions/sd-webui-controlnet/models/control_canny-fp16.safetensors
39
+ ADD --chown=user https://huggingface.co/ckpt/ControlNet/resolve/main/control_depth-fp16.safetensors /content/stable-diffusion-webui/extensions/sd-webui-controlnet/models/control_depth-fp16.safetensors
40
+ ADD --chown=user https://huggingface.co/ckpt/ControlNet/resolve/main/control_hed-fp16.safetensors /content/stable-diffusion-webui/extensions/sd-webui-controlnet/models/control_hed-fp16.safetensors
41
+ ADD --chown=user https://huggingface.co/ckpt/ControlNet/resolve/main/control_mlsd-fp16.safetensors /content/stable-diffusion-webui/extensions/sd-webui-controlnet/models/control_mlsd-fp16.safetensors
42
+ ADD --chown=user https://huggingface.co/ckpt/ControlNet/resolve/main/control_normal-fp16.safetensors /content/stable-diffusion-webui/extensions/sd-webui-controlnet/models/control_normal-fp16.safetensors
43
+ ADD --chown=user https://huggingface.co/ckpt/ControlNet/resolve/main/control_openpose-fp16.safetensors /content/stable-diffusion-webui/extensions/sd-webui-controlnet/models/control_openpose-fp16.safetensors
44
+ ADD --chown=user https://huggingface.co/ckpt/ControlNet/resolve/main/control_scribble-fp16.safetensors /content/stable-diffusion-webui/extensions/sd-webui-controlnet/models/control_scribble-fp16.safetensors
45
+ ADD --chown=user https://huggingface.co/ckpt/ControlNet/resolve/main/control_seg-fp16.safetensors /content/stable-diffusion-webui/extensions/sd-webui-controlnet/models/control_seg-fp16.safetensors
46
+ ADD --chown=user https://huggingface.co/ckpt/ControlNet/resolve/main/hand_pose_model.pth /content/stable-diffusion-webui/extensions/sd-webui-controlnet/annotator/openpose/hand_pose_model.pth
47
+ ADD --chown=user https://huggingface.co/ckpt/ControlNet/resolve/main/body_pose_model.pth /content/stable-diffusion-webui/extensions/sd-webui-controlnet/annotator/openpose/body_pose_model.pth
48
+ ADD --chown=user https://huggingface.co/ckpt/ControlNet/resolve/main/dpt_hybrid-midas-501f0c75.pt /content/stable-diffusion-webui/extensions/sd-webui-controlnet/annotator/midas/dpt_hybrid-midas-501f0c75.pt
49
+ ADD --chown=user https://huggingface.co/ckpt/ControlNet/resolve/main/mlsd_large_512_fp32.pth /content/stable-diffusion-webui/extensions/sd-webui-controlnet/annotator/mlsd/mlsd_large_512_fp32.pth
50
+ ADD --chown=user https://huggingface.co/ckpt/ControlNet/resolve/main/mlsd_tiny_512_fp32.pth /content/stable-diffusion-webui/extensions/sd-webui-controlnet/annotator/mlsd/mlsd_tiny_512_fp32.pth
51
+ ADD --chown=user https://huggingface.co/ckpt/ControlNet/resolve/main/network-bsds500.pth /content/stable-diffusion-webui/extensions/sd-webui-controlnet/annotator/hed/network-bsds500.pth
52
+ ADD --chown=user https://huggingface.co/ckpt/ControlNet/resolve/main/upernet_global_small.pth /content/stable-diffusion-webui/extensions/sd-webui-controlnet/annotator/uniformer/upernet_global_small.pth
53
+ ADD --chown=user https://huggingface.co/ckpt/ControlNet/resolve/main/t2iadapter_style_sd14v1.pth /content/stable-diffusion-webui/extensions/sd-webui-controlnet/models/t2iadapter_style_sd14v1.pth
54
+ ADD --chown=user https://huggingface.co/ckpt/ControlNet/resolve/main/t2iadapter_sketch_sd14v1.pth /content/stable-diffusion-webui/extensions/sd-webui-controlnet/models/t2iadapter_sketch_sd14v1.pth
55
+ ADD --chown=user https://huggingface.co/ckpt/ControlNet/resolve/main/t2iadapter_seg_sd14v1.pth /content/stable-diffusion-webui/extensions/sd-webui-controlnet/models/t2iadapter_seg_sd14v1.pth
56
+ ADD --chown=user https://huggingface.co/ckpt/ControlNet/resolve/main/t2iadapter_openpose_sd14v1.pth /content/stable-diffusion-webui/extensions/sd-webui-controlnet/models/t2iadapter_openpose_sd14v1.pth
57
+ ADD --chown=user https://huggingface.co/ckpt/ControlNet/resolve/main/t2iadapter_keypose_sd14v1.pth /content/stable-diffusion-webui/extensions/sd-webui-controlnet/models/t2iadapter_keypose_sd14v1.pth
58
+ ADD --chown=user https://huggingface.co/ckpt/ControlNet/resolve/main/t2iadapter_depth_sd14v1.pth /content/stable-diffusion-webui/extensions/sd-webui-controlnet/models/t2iadapter_depth_sd14v1.pth
59
+ ADD --chown=user https://huggingface.co/ckpt/ControlNet/resolve/main/t2iadapter_color_sd14v1.pth /content/stable-diffusion-webui/extensions/sd-webui-controlnet/models/t2iadapter_color_sd14v1.pth
60
+ ADD --chown=user https://huggingface.co/ckpt/ControlNet/resolve/main/t2iadapter_canny_sd14v1.pth /content/stable-diffusion-webui/extensions/sd-webui-controlnet/models/t2iadapter_canny_sd14v1.pth
61
+
62
+ RUN sed -i -e '''/ prepare_environment()/a\ os.system\(f\"""sed -i -e ''\"s/dict()))/dict())).cuda()/g\"'' /content/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/ldm/util.py""")''' /content/stable-diffusion-webui/launch.py
63
+ RUN sed -i -e 's/fastapi==0.90.1/fastapi==0.89.1/g' /content/stable-diffusion-webui/requirements_versions.txt
64
+ RUN sed -i -e 's/ start()/ #start()/g' /content/stable-diffusion-webui/launch.py
65
+ RUN cd stable-diffusion-webui && python launch.py --skip-torch-cuda-test
66
+
67
+ ADD --chown=user https://huggingface.co/ckpt/sd15/resolve/main/v1-5-pruned-emaonly.ckpt /content/stable-diffusion-webui/models/Stable-diffusion/v1-5-pruned-emaonly.ckpt
68
+
69
+ EXPOSE 7860
70
+
71
+ CMD cd /content/stable-diffusion-webui && python webui.py --xformers --listen --enable-insecure-extension-access --gradio-queue