From 39070e07d867cd13170dbeb50c50fca545d097b0 Mon Sep 17 00:00:00 2001 From: samsamfin Date: Sun, 5 Apr 2026 05:20:57 +0000 Subject: [PATCH] Upload files to "/" --- setup-sd.sh | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 setup-sd.sh diff --git a/setup-sd.sh b/setup-sd.sh new file mode 100644 index 0000000..3a5ef07 --- /dev/null +++ b/setup-sd.sh @@ -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"