File size: 2,300 Bytes
6f6613b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/bin/bash

# Set the directory for WEBUI
WEBUI_HOME_DIR="$HOME/webui"

# Clone the repository, the hard way (to allow existing linked folder of webui)
# Check if .git directory exists in WEBUI_HOME_DIR
if [ ! -d "${WEBUI_HOME_DIR}/.git" ]; then
    # Clone the repository, the hard way (to allow existing linked folder of webui)
    git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui /tmp/webui_temp
    mv /tmp/webui_temp/* /tmp/webui_temp/.git* "${WEBUI_HOME_DIR}"
    rm -rf /tmp/webui_temp
fi

# Check if it's the first time setup
if [ ! -f "ui-config.json" ]; then

    # Update and install perftools
    sudo apt-get update
    sudo apt-get install --no-install-recommends google-perftools -y

    cd "${WEBUI_HOME_DIR}"
    # If ui-config.json does not exist, it's the first time setup
    # Adding flags
    sed -i 's/#export COMMANDLINE_ARGS=""/export COMMANDLINE_ARGS="--share --no-half-vae --listen --api --xformers --no-download-sd-model --disable-nan-check"/' webui-user.sh
    wget https://huggingface.co/kiriyamaX/webui-configs/resolve/main/config_sdxl_v2.json -O config.json
    wget https://huggingface.co/kiriyamaX/webui-configs/resolve/main/ui-config_sdxl_v2.json -O ui-config.json

    # Install extensions
    cd extensions 
    git clone https://github.com/picobyte/stable-diffusion-webui-wd14-tagger
    git clone https://github.com/AlUlkesh/stable-diffusion-webui-images-browser
    git clone https://github.com/hako-mikan/sd-webui-supermerger
    git clone https://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111
    git clone https://github.com/arenatemp/stable-diffusion-webui-model-toolkit  

    # ========== SECURITY: disallow gradio visiting models folder =============
    WEBUI_PY_FILE="${WEBUI_HOME_DIR}/webui.py"
    
    # Line to be added
    # https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/cf2772fab0af5573da775e7437e6acdca424f26e/webui.py#L79C1-L96C10
    NEW_LINE="            blocked_paths=[\"/home/ubuntu/webui/models\"],"
    
    # Check if the line already exists to avoid duplicating it
    if ! grep -q "blocked_paths" "$WEBUI_PY_FILE"; then
        # Use sed to insert the line after the pattern
        sed -i "/app_kwargs={/i $NEW_LINE" "$WEBUI_PY_FILE"
    fi
fi

cd "${WEBUI_HOME_DIR}"
./webui.sh