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:7860adresinde 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-smiile 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.
