Ana içeriğe geç
Kategoriye Dön

Stable Diffusion Kurulumu: Self-Hosted Görsel Üretimi

Stable Diffusion kurulumu, AUTOMATIC1111 ve ComfyUI arayüzleri, model indirme, LoRA eğitimi, ControlNet kullanımı ve Docker ile self-hosted görsel üretimi rehberi.

Okuma süresi: 16 dk AI & ML Self-Hosting
stable-diffusiongörsel üretimiyapay zekaself-hostingcomfyuigpu

İçindekiler

Stable Diffusion Kurulumu: Self-Hosted Görsel Üretimi

Stable Diffusion, metinden görsel üreten açık kaynaklı bir yapay zeka modelidir. Kendi sunucunuzda çalıştırarak sınırsız görsel üretimi yapabilir, özel modeller eğitebilir ve tam gizlilik ile çalışabilirsiniz. Bu rehberde AUTOMATIC1111 Web UI ve ComfyUI kurulumunu, model yönetimini, LoRA ve ControlNet kullanımını detaylı olarak ele alacağız.

Stable Diffusion Nedir?

Stable Diffusion, Stability AI tarafından geliştirilen bir latent diffusion modelidir. Temel özellikleri:

  • Metin-Görsel (txt2img): Metin açıklamasından görsel üretimi
  • Görsel-Görsel (img2img): Mevcut görseli referans alarak yeni görsel üretimi
  • Inpainting: Görselin belirli bölgelerini düzenleme
  • ControlNet: Poz, kenar ve derinlik haritası ile kontrollü üretim
  • LoRA: Düşük kaynak ile model ince ayarı
  • Upscaling: Düşük çözünürlüklü görselleri büyütme

Sistem Gereksinimleri

BileşenMinimumÖnerilen
GPUNVIDIA 6 GB VRAMNVIDIA 12 GB+ VRAM
RAM16 GB32 GB+
Disk30 GB100 GB+ (modeller için)
OSUbuntu 22.04 LTSUbuntu 22.04/24.04 LTS
CUDA11.8+12.1+
Python3.10+3.10.x

AUTOMATIC1111 Web UI Kurulumu

AUTOMATIC1111, Stable Diffusion için en popüler web arayüzüdür.

Manuel Kurulum

hljs bash
# Bağımlılıklar
sudo apt-get update
sudo apt-get install -y python3-venv python3-pip git wget

# Repo klonlama
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui

# Model indirme (Stable Diffusion XL)
wget -O models/Stable-diffusion/sd_xl_base_1.0.safetensors \
  "https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors"

# Başlatma
./webui.sh --listen --port 7860 --xformers --enable-insecure-extension-access

Docker ile AUTOMATIC1111

hljs yaml
version: '3.8'
services:
  stable-diffusion:
    image: ghcr.io/abetlen/stable-diffusion-webui-docker:latest
    container_name: sd-webui
    ports:
      - "7860:7860"
    volumes:
      - sd_models:/app/models
      - sd_outputs:/app/outputs
      - sd_extensions:/app/extensions
    environment:
      - COMMANDLINE_ARGS=--listen --xformers --enable-insecure-extension-access --no-half-vae
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]
    restart: unless-stopped

volumes:
  sd_models:
  sd_outputs:
  sd_extensions:

Systemd Servisi

hljs bash
cat > /etc/systemd/system/sd-webui.service << 'EOF'
[Unit]
Description=Stable Diffusion Web UI
After=network.target

[Service]
Type=simple
User=sduser
WorkingDirectory=/opt/stable-diffusion-webui
ExecStart=/opt/stable-diffusion-webui/webui.sh --listen --port 7860 --xformers
Restart=on-failure
RestartSec=10
Environment=HOME=/opt/stable-diffusion-webui

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable --now sd-webui

ComfyUI Kurulumu

ComfyUI, node tabanlı gelişmiş bir Stable Diffusion arayüzüdür. Karmaşık iş akışları oluşturmak için idealdir.

Manuel Kurulum

hljs bash
# Repo klonlama
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI

# Python sanal ortam
python3 -m venv venv
source venv/bin/activate

# Bağımlılıklar
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu121
pip install -r requirements.txt

# Model dizinine model kopyalama
cp /path/to/sd_xl_base_1.0.safetensors models/checkpoints/

# Başlatma
python main.py --listen 0.0.0.0 --port 8188

Docker ile ComfyUI

hljs yaml
version: '3.8'
services:
  comfyui:
    image: ghcr.io/ai-dock/comfyui:latest
    container_name: comfyui
    ports:
      - "8188:8188"
    volumes:
      - comfy_models:/opt/ComfyUI/models
      - comfy_output:/opt/ComfyUI/output
      - comfy_custom:/opt/ComfyUI/custom_nodes
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]
    restart: unless-stopped

volumes:
  comfy_models:
  comfy_output:
  comfy_custom:

Model İndirme ve Yönetimi

Popüler Modeller

hljs bash
# Stable Diffusion XL Base
wget -O models/Stable-diffusion/sd_xl_base_1.0.safetensors \
  "https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors"

# SDXL Refiner
wget -O models/Stable-diffusion/sd_xl_refiner_1.0.safetensors \
  "https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors"

# Stable Diffusion 1.5 (düşük VRAM için)
wget -O models/Stable-diffusion/v1-5-pruned-emaonly.safetensors \
  "https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors"

VAE Modelleri

hljs bash
# SDXL VAE
wget -O models/VAE/sdxl_vae.safetensors \
  "https://huggingface.co/stabilityai/sdxl-vae/resolve/main/sdxl_vae.safetensors"

LoRA Kullanımı

LoRA (Low-Rank Adaptation), büyük modelleri düşük kaynak ile ince ayar yapmanızı sağlar.

LoRA Model İndirme

hljs bash
# LoRA modellerini models/Lora dizinine yerleştirin
mkdir -p models/Lora

# Civitai veya HuggingFace'den LoRA indirme
wget -O models/Lora/detail-enhancer.safetensors \
  "https://huggingface.co/example/detail-enhancer/resolve/main/model.safetensors"

LoRA Prompt Kullanımı

AUTOMATIC1111'de LoRA kullanmak için prompt'a ekleyin:

a beautiful landscape, mountains, sunset <lora:detail-enhancer:0.7>

ControlNet Kurulumu

ControlNet, görsel üretimini poz, kenar haritası ve derinlik bilgisi ile kontrol etmenizi sağlar.

hljs bash
# ControlNet eklentisi kurulumu (AUTOMATIC1111)
cd extensions
git clone https://github.com/Mikubill/sd-webui-controlnet.git

# ControlNet modelleri
mkdir -p models/ControlNet
wget -O models/ControlNet/control_v11p_sd15_canny.pth \
  "https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_canny.pth"

wget -O models/ControlNet/control_v11p_sd15_openpose.pth \
  "https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_openpose.pth"

API ile Görsel Üretimi

AUTOMATIC1111 API üzerinden programatik görsel üretimi:

hljs python
import requests
import base64
from pathlib import Path

def generate_image(prompt, negative_prompt="", steps=30, width=1024, height=1024):
    url = "http://localhost:7860/sdapi/v1/txt2img"
    payload = {
        "prompt": prompt,
        "negative_prompt": negative_prompt,
        "steps": steps,
        "width": width,
        "height": height,
        "sampler_name": "DPM++ 2M Karras",
        "cfg_scale": 7,
        "seed": -1
    }
    
    response = requests.post(url, json=payload)
    result = response.json()
    
    # Görseli kaydet
    image_data = base64.b64decode(result["images"][0])
    Path("output.png").write_bytes(image_data)
    print("Görsel kaydedildi: output.png")

# Kullanım
generate_image(
    prompt="a futuristic data center, neon lights, cyberpunk style, 8k",
    negative_prompt="blurry, low quality, distorted"
)

Performans Optimizasyonu

hljs bash
# xformers ile bellek optimizasyonu
pip install xformers

# Başlatma parametreleri
./webui.sh --listen \
  --xformers \
  --opt-sdp-attention \
  --no-half-vae \
  --medvram \
  --port 7860

Bellek Tasarrufu Parametreleri

ParametreAçıklamaVRAM Tasarrufu
--xformersxformers attentionOrta
--medvramOrta VRAM moduYüksek
--lowvramDüşük VRAM moduÇok yüksek
--opt-sdp-attentionSDP attentionOrta
--no-half-vaeVAE float32Kalite artışı

Nginx Reverse Proxy

hljs nginx
server {
    listen 443 ssl;
    server_name sd.example.com;

    ssl_certificate /etc/letsencrypt/live/sd.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/sd.example.com/privkey.pem;

    client_max_body_size 100M;

    location / {
        proxy_pass http://127.0.0.1:7860;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_read_timeout 600s;
    }
}

REXE GPU sunucularında Stable Diffusion ile sınırsız görsel üretimi yapabilirsiniz. NVIDIA A100 GPU'lar ile SDXL modelleri yüksek hızda çalışır.