Upload files to "/"
This commit is contained in:
+90
@@ -0,0 +1,90 @@
|
||||
#!/bin/bash
|
||||
# Setup script for AUTOMATIC1111 Stable Diffusion WebUI
|
||||
# Target: Ubuntu 22.04 LTS + NVIDIA RTX 2000 Ada (16GB VRAM)
|
||||
|
||||
set -e
|
||||
|
||||
SD_DIR="$HOME/stable-diffusion-webui"
|
||||
|
||||
echo "=== AUTOMATIC1111 Stable Diffusion WebUI Setup ==="
|
||||
echo "=== Target: Ubuntu 22.04 LTS + NVIDIA RTX 2000 Ada ==="
|
||||
echo ""
|
||||
|
||||
# 1. Install system dependencies that Ubuntu 22.04 doesn't ship by default
|
||||
echo "Installing system dependencies..."
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y \
|
||||
git \
|
||||
wget \
|
||||
python3-venv \
|
||||
python3-pip \
|
||||
libgl1 \
|
||||
libglib2.0-0 \
|
||||
libsm6 \
|
||||
libxrender1 \
|
||||
libxext6 \
|
||||
libffi-dev \
|
||||
libssl-dev
|
||||
|
||||
# 2. Check NVIDIA driver
|
||||
if ! command -v nvidia-smi &>/dev/null; then
|
||||
echo ""
|
||||
echo "ERROR: nvidia-smi not found. Install NVIDIA drivers first:"
|
||||
echo ""
|
||||
echo " sudo apt install nvidia-driver-535"
|
||||
echo " sudo reboot"
|
||||
echo ""
|
||||
echo "Or use Ubuntu's driver manager:"
|
||||
echo " sudo ubuntu-drivers autoinstall"
|
||||
echo " sudo reboot"
|
||||
exit 1
|
||||
fi
|
||||
echo ""
|
||||
echo "GPU detected:"
|
||||
nvidia-smi --query-gpu=name,driver_version,memory.total --format=csv,noheader
|
||||
echo ""
|
||||
|
||||
# 3. Check CUDA availability
|
||||
if ! command -v nvcc &>/dev/null; then
|
||||
echo "NOTE: nvcc not found — A1111 will download its own CUDA via PyTorch, which is fine."
|
||||
echo " (No need to install CUDA toolkit separately.)"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
# 4. Clone A1111
|
||||
if [ -d "$SD_DIR" ]; then
|
||||
echo "Directory $SD_DIR already exists, pulling latest..."
|
||||
cd "$SD_DIR" && git pull
|
||||
else
|
||||
echo "Cloning AUTOMATIC1111..."
|
||||
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git "$SD_DIR"
|
||||
fi
|
||||
cd "$SD_DIR"
|
||||
|
||||
# 5. Download a good default model (SD 1.5 — fast, 16GB friendly)
|
||||
# You can swap this for SDXL later if you want higher quality
|
||||
MODEL_DIR="$SD_DIR/models/Stable-diffusion"
|
||||
mkdir -p "$MODEL_DIR"
|
||||
|
||||
if [ ! -f "$MODEL_DIR/v1-5-pruned-emaonly.safetensors" ]; then
|
||||
echo "Downloading Stable Diffusion 1.5 model (~4GB)..."
|
||||
wget -q --show-progress -O "$MODEL_DIR/v1-5-pruned-emaonly.safetensors" \
|
||||
"https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors"
|
||||
else
|
||||
echo "SD 1.5 model already downloaded."
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=== Setup complete ==="
|
||||
echo ""
|
||||
echo "To start the WebUI with API enabled, run:"
|
||||
echo " cd $SD_DIR"
|
||||
echo " ./webui.sh --api --listen --xformers --no-half-vae"
|
||||
echo ""
|
||||
echo "First launch will take several minutes (installs PyTorch, xformers, etc.)"
|
||||
echo ""
|
||||
echo "The API will be available at http://localhost:7860"
|
||||
echo "Test it with: curl http://localhost:7860/sdapi/v1/sd-models"
|
||||
echo ""
|
||||
echo "Optional: To run as a systemd service, run:"
|
||||
echo " chmod +x setup-sd-service.sh && sudo ./setup-sd-service.sh"
|
||||
Reference in New Issue
Block a user