Automatic1111 WebUI Kurulumu: Linux ve Windows Rehberi

Stable Diffusion’ı yerel makinende çalıştırmak istiyorsan, Automatic1111 WebUI şu an için en olgun ve en geniş topluluk desteğine sahip arayüz. GPU’nu tam anlamıyla kullanarak saniyeler içinde görüntü üretebilir, onlarca farklı model ve eklentiyle sistemi özelleştirebilirsin. Bu yazıda hem Linux hem de Windows üzerinde sıfırdan kurulumu, yaygın hataları ve production benzeri kullanım senaryolarını ele alacağız.

Sistem Gereksinimleri

Kuruluma geçmeden önce donanım ve yazılım gereksinimlerini netleştirelim.

GPU Gereksinimleri:

  • NVIDIA: GTX 1060 6GB minimum, RTX 3060 ve üzeri önerilir. CUDA desteği zorunlu.
  • AMD (Linux): ROCm destekli kartlar, RX 5700 ve üzeri. Windows’ta AMD desteği sınırlı.
  • Apple Silicon: Metal backend ile M1/M2/M3 destekleniyor, ancak yavaş kalabilir.
  • CPU Only: Mümkün ama pratikte kullanılabilir değil, bir görüntü için 10-20 dakika bekleyebilirsin.

VRAM Gereksinimleri:

  • 4GB VRAM: 512×512 çözünürlük, –medvram flag ile
  • 6GB VRAM: 512×512 rahat, 768×768 mümkün
  • 8GB VRAM: 768×768 rahat, 1024×1024 mümkün
  • 12GB+: Tam konforlu kullanım, hires.fix ve yüksek çözünürlük

Yazılım Ön Gereksinimleri:

  • Python 3.10.x (3.11 bazı eklentilerle sorun çıkarabilir)
  • Git
  • CUDA Toolkit (NVIDIA için)

Linux Kurulumu

Linux tarafında Ubuntu 22.04 LTS üzerinden gideceğiz ama Debian tabanlı dağıtımlarda adımlar neredeyse aynı.

Sistem Hazırlığı

İlk olarak sistemi güncelleyip gerekli paketleri yükleyelim:

sudo apt update && sudo apt upgrade -y
sudo apt install -y wget git python3 python3-pip python3-venv 
    libgl1 libglib2.0-0 build-essential

NVIDIA sürücülerini kontrol et:

nvidia-smi

Eğer çıktı görüntüleyemiyorsan sürücüleri yüklemen gerekiyor:

sudo apt install -y nvidia-driver-535
sudo reboot

Reboot sonrası CUDA toolkit yükle. Versiyon uyumuna dikkat et, sürücüne göre uygun CUDA versiyonunu seçmelisin:

# CUDA 11.8 örneği
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update
sudo apt install -y cuda-11-8

Python 3.10 Kurulumu

Ubuntu 22.04’te Python 3.10 zaten geliyor ama temiz bir ortam için pyenv kullanmak daha akıllıca:

# pyenv bağımlılıkları
sudo apt install -y make build-essential libssl-dev zlib1g-dev 
    libbz2-dev libreadline-dev libsqlite3-dev llvm 
    libncursesw5-dev xz-utils tk-dev libxml2-dev 
    libxmlsec1-dev libffi-dev liblzma-dev

# pyenv kurulumu
curl https://pyenv.run | bash

# .bashrc veya .zshrc'ye ekle
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc

source ~/.bashrc

# Python 3.10.12 kur
pyenv install 3.10.12
pyenv global 3.10.12
python --version

Automatic1111 İndirme ve İlk Kurulum

# İstediğin bir dizine kur, ben /opt altına alıyorum
cd /opt
sudo git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
sudo chown -R $USER:$USER stable-diffusion-webui
cd stable-diffusion-webui

İlk çalıştırma sırasında bütün bağımlılıklar otomatik indirilir. Bu işlem internet hızına göre 5-15 dakika sürebilir:

# İlk çalıştırma
./webui.sh

WebUI ilk açılışta şunları yapar:

  • Python sanal ortamı oluşturur (venv/ dizini)
  • PyTorch ve bağımlılıkları indirir (yaklaşık 2-3GB)
  • xformers ve diğer optimizasyon kütüphanelerini kurar
  • http://127.0.0.1:7860 adresinde dinlemeye başlar

Linux İçin Başlatma Scripti

Günlük kullanım için bir başlatma scripti oluşturmak işini kolaylaştırır:

cat > ~/start_sd.sh << 'EOF'
#!/bin/bash
cd /opt/stable-diffusion-webui

# VRAM optimizasyonları
export PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:512

# 6GB VRAM için --medvram, 4GB için --lowvram kullan
./webui.sh --xformers --medvram --listen --port 7860 
    --enable-insecure-extension-access 
    --api
EOF

chmod +x ~/start_sd.sh

–xformers: Bellek optimizasyonu ve hız artışı sağlar, kesinlikle kullan. –medvram: 6-8GB VRAM için bellek tasarruf modu. –lowvram: 4GB ve altı için daha agresif tasarruf modu. –listen: Localhost dışından da erişim sağlar, sunucu kurulumunda gerekli. –api: REST API endpoint’lerini aktive eder, otomasyon için lazım.

Systemd Servis Olarak Kurulum

Eğer bu kurulumu bir sunucuda çalıştırıyorsan ve sistem açılışında otomatik başlamasını istiyorsan:

sudo nano /etc/systemd/system/stable-diffusion.service
[Unit]
Description=Stable Diffusion WebUI
After=network.target

[Service]
Type=simple
User=YOUR_USERNAME
WorkingDirectory=/opt/stable-diffusion-webui
ExecStart=/opt/stable-diffusion-webui/webui.sh --xformers --medvram --listen --port 7860 --api
Restart=on-failure
RestartSec=10
Environment="PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:512"

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable stable-diffusion
sudo systemctl start stable-diffusion
sudo systemctl status stable-diffusion

Windows Kurulumu

Windows kurulumu Linux’a göre daha az terminal gerektiriyor ama birkaç kritik nokta var.

Ön Gereksinimler

  • Python 3.10.x: Python’ın resmi sitesinden indir. Kurulum sırasında “Add Python to PATH” seçeneğini işaretle.
  • Git for Windows: git-scm.com adresinden indir.
  • CUDA Toolkit: NVIDIA sürücülerin zaten kuruluysa muhtemelen CUDA da geliyor, nvidia-smi ile kontrol et.

Python versiyonunu doğrula:

python --version
# Python 3.10.x çıkmalı

Windows’ta Kurulum

PowerShell veya Command Prompt’u yönetici olarak aç:

# İstediğin dizine git, masaüstü klasörünü önermem
cd C:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui

Doğrudan webui-user.bat dosyasını düzenleyerek başlatma parametrelerini ayarla:

notepad webui-user.bat

Dosya içeriği şöyle görünmeli:

@echo off

set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--xformers --medvram --api

call webui.bat

webui-user.bat dosyasını çalıştır ve ilk kurulumun tamamlanmasını bekle.

Windows’ta Yaygın Sorunlar

“RuntimeError: Torch is not able to use GPU” hatası:

# webui-user.bat içine ekle
set COMMANDLINE_ARGS=--skip-torch-cuda-test --precision full --no-half

Bu genellikle Pascal mimarisi (GTX 10xx) kartlarda görülür. --no-half flag’i FP16 yerine FP32 kullanır, biraz daha yavaş ama stabil çalışır.

“AssertionError: extension access” hatası:

set COMMANDLINE_ARGS=--xformers --medvram --enable-insecure-extension-access

Model Yönetimi

Kurulum tamamlandı ama henüz bir model yok. WebUI varsayılan olarak models/Stable-diffusion/ dizinine bakıyor.

Model İndirme

Civitai ve Hugging Face en popüler kaynaklardır. Bir model indirdikten sonra doğru dizine koy:

# Linux
cp ~/Downloads/model_adi.safetensors 
    /opt/stable-diffusion-webui/models/Stable-diffusion/

# Windows
copy C:UsersKullaniciAdiDownloadsmodel_adi.safetensors 
    C:stable-diffusion-webuimodelsStable-diffusion

Safetensors vs Ckpt: Mümkün olduğunca .safetensors formatını tercih et. Checkpoint (.ckpt) dosyaları zararlı kod içerebilir, güvenli olmayan kaynaklardan indirilen ckpt dosyalarını asla çalıştırma.

Hugging Face CLI ile Model İndirme

pip install huggingface-hub

# Örnek: Stable Diffusion 1.5
huggingface-cli download runwayml/stable-diffusion-v1-5 
    v1-5-pruned-emaonly.safetensors 
    --local-dir /opt/stable-diffusion-webui/models/Stable-diffusion/

Eklenti Kurulumu ve Yönetimi

WebUI’nin gerçek gücü eklentilerden geliyor. Arayüzden “Extensions” sekmesinden kurabilir ya da manuel ekleyebilirsin.

Temel Eklentiler

ControlNet – Görüntü kompozisyonunu kontrol etmek için olmazsa olmaz:

cd /opt/stable-diffusion-webui/extensions
git clone https://github.com/Mikubill/sd-webui-controlnet.git

After Detailer (ADetailer) – Yüz ve el detaylarını otomatik düzeltir:

git clone https://github.com/Bing-su/adetailer.git

Ultimate SD Upscale – Yüksek çözünürlüklü görüntü üretimi için:

git clone https://github.com/Coyote-A/ultimate-upscale-for-automatic1111.git

Eklentileri ekledikten sonra WebUI’yi yeniden başlatman gerekiyor. Arayüzden “Apply and restart UI” butonunu kullanabilirsin ya da scripti yeniden çalıştırabilirsin.

API Kullanımı ve Otomasyon

Sistemlere entegre etmek ya da toplu görüntü üretimi yapmak istiyorsan REST API’yi kullanabilirsin. --api flag’i ile başlatılan WebUI http://localhost:7860/docs adresinde Swagger dokümantasyonu sunuyor.

Basit API Örneği

curl -X POST "http://localhost:7860/sdapi/v1/txt2img" 
    -H "Content-Type: application/json" 
    -d '{
        "prompt": "a beautiful mountain landscape, photorealistic, 8k",
        "negative_prompt": "blurry, low quality, ugly",
        "steps": 20,
        "cfg_scale": 7,
        "width": 512,
        "height": 512,
        "sampler_name": "DPM++ 2M Karras"
    }' | python3 -c "
import sys, json, base64
data = json.load(sys.stdin)
with open('output.png', 'wb') as f:
    f.write(base64.b64decode(data['images'][0]))
print('Goruntu kaydedildi: output.png')
"

Bu komut bir PNG dosyası oluşturur. Toplu görüntü üretimi için bunu bir döngüye alabilirsin, CI/CD pipeline’larına entegre edebilirsin ya da Telegram botu gibi projelerde kullanabilirsin.

Performans Optimizasyonu

Kurulum çalışıyor ama yavaş mı? İşte en etkili optimizasyon adımları.

xformers Kurulumu Doğrulama

# venv'i aktive et
source /opt/stable-diffusion-webui/venv/bin/activate

# xformers kurulu mu kontrol et
python -c "import xformers; print(xformers.__version__)"

Eğer hata alıyorsan manuel kur:

pip install xformers==0.0.21

VRAM Ayarları İnce Tuning

# Agresif bellek temizleme için environment variable
export PYTORCH_NO_CUDA_MEMORY_CACHING=1

# Veya daha kontrollü bir yaklaşım
export PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:512,garbage_collection_threshold:0.8

Token Merging (ToMe)

Token Merging eklentisi görüntü kalitesinden çok az ödün vererek %20-30 hız artışı sağlayabilir. Extensions sekmesinden sd-webui-tome eklentisini kurup Settings’ten aktivite edebilirsin.

Güncelleme Yönetimi

Automatic1111 aktif geliştirme altında, düzenli güncelleme yapman önerilir:

cd /opt/stable-diffusion-webui
git pull

# Bağımlılıkları güncelle
source venv/bin/activate
pip install -r requirements.txt

# Veya WebUI'nin kendi güncelleme mekanizmasını kullan
./webui.sh --update-all-extensions

Dikkat: Büyük güncellemeler bazen eklentileri bozabilir. Kritik bir iş ortamındaysan güncellemeden önce dizini yedekle:

# Sadece config ve model dizinlerini yedekle, venv'i yedekleme
tar -czf sd_backup_$(date +%Y%m%d).tar.gz 
    /opt/stable-diffusion-webui/models 
    /opt/stable-diffusion-webui/outputs 
    /opt/stable-diffusion-webui/config.json

Ağ Erişimi ve Güvenlik

Eğer WebUI’ye ağ üzerinden erişmek istiyorsan birkaç güvenlik önlemi almanı öneririm.

Temel Authentication

./webui.sh --listen --port 7860 
    --gradio-auth kullaniciadi:sifre

Nginx Reverse Proxy

Sunucu ortamında WebUI’yi doğrudan açmak yerine Nginx arkasına almak daha güvenli:

sudo nano /etc/nginx/sites-available/stable-diffusion
server {
    listen 443 ssl;
    server_name sd.sunucuadresi.com;

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

    location / {
        proxy_pass http://127.0.0.1:7860;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_read_timeout 300s;
        proxy_send_timeout 300s;
    }
}

proxy_read_timeout değerini yüksek tutman önemli, görüntü üretimi özellikle yüksek çözünürlüklerde uzun sürebilir.

Sonuç

Automatic1111 WebUI, özellikle Linux sunucularda ya da güçlü bir masaüstü workstation’ında çalıştırıldığında gerçekten etkileyici bir araç. Kurulum ilk bakışta karmaşık görünebilir ama adımları takip edince genellikle sorunsuz ilerliyor.

Pratikte en çok zamanı alan şey model bulmak ve neyin işe yarayacağını test etmek. Teknik kurulum bir kez yapıldıktan sonra asıl iş prompting ve model seçimine kayıyor. VRAM yetersizliğinden kaynaklanan hatalar için --medvram ve --lowvram flag’lerini dene, büyük ihtimalle çözüme ulaşırsın.

API desteğiyle birlikte bu sistemi mevcut iş akışlarına entegre etmek oldukça kolaylaşıyor. İster basit bir resim üretim scripti yaz, ister tam bir microservice haline getir, altyapı hazır. Sonraki adım olarak ControlNet modellerini kurup daha kontrollü görüntü üretimini deneyimlemeni tavsiye ederim.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir