Stable Diffusion WebUI unter Ubuntu 24.04 installieren
A step-by-step installation guide.
Stable Diffusion WebUI
Ubuntu 24.04 • Docker • NVIDIA • Run This AI
AUTOMATIC1111's SD WebUI ist die beliebteste Stable-Diffusion-Oberfläche — ein Gradio-UI für txt2img, img2img, ControlNet, LoRA und hunderte Erweiterungen. Diese Anleitung behandelt den Docker-Einsatz auf Ubuntu 24.04 mit NVIDIA-Beschleunigung.
1 — Voraussetzungen
| Ressource | Min | Empf. |
|---|---|---|
| CPU | 4 Kerne | 8+ |
| RAM | 8 GB | 16+ GB |
| GPU | NVIDIA 4 GB VRAM | 8+ GB VRAM |
| Festplatte | 20 GB | 50+ GB |
NVIDIA-GPU erforderlich. GTX 1060 6 GB Einstieg; RTX 3060 12 GB+ ideal.
2 — Docker & NVIDIA-Toolkit
sudo apt-get update && sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc && sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu noble stable" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io
sudo usermod -aG docker $USER
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -sL https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker && sudo systemctl restart docker
# Verify: docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi
3 — Docker Compose
mkdir -p ~/sd-webui/{outputs,models,config} && cd ~/sd-webui
cat > docker-compose.yml << 'EOF'
services:
sd-webui:
image: ghcr.io/automatic1111/stable-diffusion-webui:latest
container_name: sd-webui
restart: unless-stopped
ports: ["7860:7860"]
volumes:
- ./outputs:/output
- ./models:/models
- ./config:/config
environment:
- COMMANDLINE_ARGS=--medvram --xformers --api
- GRADIO_SERVER_NAME=0.0.0.0
- GRADIO_SERVER_PORT=7860
- XFORMERS=true
- CUDA_VISIBLE_DEVICES=0
- SAFETENSORS_FAST_GPU=true
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
EOF
docker compose up -d
Image von ghcr.io. Port 7860:7860 mappt das UI. Volumes sichern Ausgaben, Modelle, Konfiguration. Der Deploy-Block mit driver:nvidia gibt die GPU frei. Aufruf unter http://DEINE_IP:7860 nach ca. 60s.
4 — Nginx-Reverse-Proxy
sudo apt-get install -y nginx certbot python3-certbot-nginx
cat > /etc/nginx/sites-available/sd-webui << 'EOF'
server {
listen 80;
server_name sd.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:7860;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_read_timeout 300s;
}
location /queue/ {
proxy_pass http://127.0.0.1:7860/queue/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400s;
}
}
EOF
sudo ln -s /etc/nginx/sites-available/sd-webui /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
sudo certbot --nginx -d sd.yourdomain.com
5 — Umgebungsvariablen
| Variable | Standard | Beschreibung |
|---|---|---|
| COMMANDLINE_ARGS | leer | CLI-Flags für launch.py |
| GRADIO_SERVER_NAME | 127.0.0.1 | Bindung. 0.0.0.0 für externen Zugriff |
| GRADIO_SERVER_PORT | 7860 | Web-UI-Port |
| MEDIA_DIR | /output | Verzeichnis für generierte Bilder |
| NO_HALF | false | FP16 deaktivieren. Verdoppelt VRAM |
| XFORMERS | false | xformers aktivieren. VRAM -20-40% |
| CUDA_VISIBLE_DEVICES | all | GPU-Auswahl. "0"=erste |
| SAFETENSORS_FAST_GPU | false | Direkte GPU-Ladung |
6 — Zusätzliche CLI-Argumente
| Flag | Beschreibung |
|---|---|
| --medvram | Mittlerer VRAM. 6-8 GB GPUs |
| --lowvram | Maximale Einsparung. 4 GB GPUs |
| --xformers | Speichereffiziente Attention |
| --enable-insecure-extension-access | Drittanbieter-URLs |
| --no-half | Nur FP32 |
| --api | REST-API unter /sdapi/v1/ |
Kombiniert: COMMANDLINE_ARGS=--medvram --xformers --api --enable-insecure-extension-access
7 — Modelle herunterladen
cd ~/sd-webui/models/Stable-diffusion/
wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors
wget -c https://huggingface.co/Lykon/dreamshaper-8/resolve/main/dreamshaper_8.safetensors
docker compose restart
.safetensors verwenden. -c setzt fort. Quellen: HF, CivitAI.
8 — Backup & Update
Backup: tar czf ~/sd-backup-$(date +%F).tar.gz -C ~/sd-webui outputs models config
Update: cd ~/sd-webui && docker compose pull && docker compose up -d
9 — Fehlerbehebung
CUDA OOM: --medvram/--lowvram + --xformers hinzufügen. Auflösung/Batch-Größe verringern. Neustarten.
Modell nicht gefunden: Datei in ./models/Stable-diffusion/ auf dem Host (.ckpt/.safetensors/.pt). docker compose down && up -d.
xformers: Neueste Version ziehen. XFORMERS=true prüfen. Alternativ: --opt-split-attention.
Erweiterungen: --enable-insecure-extension-access hinzufügen. ./extensions:/stable-diffusion-webui/extensions einbinden. docker compose logs -f prüfen. Deaktivieren: --disable-extension <dir>.
AUTOMATIC1111's SD WebUI • Ubuntu 24.04 • Run This AI