Open WebUI Kurulumu: ChatGPT Benzeri Arayüz ile Yerel AI
Open WebUI kurulumu Docker ile, Ollama entegrasyonu, kullanıcı yönetimi, RAG (belge sorgulama), model yönetimi, özel promptlar ve çoklu kullanıcı desteği.
İçindekiler
Open WebUI Kurulumu: ChatGPT Benzeri Arayüz ile Yerel AI
Open WebUI (eski adıyla Ollama WebUI), yerel LLM modelleriniz için ChatGPT benzeri modern bir web arayüzü sunan açık kaynaklı bir projedir. Ollama ile entegre çalışarak tarayıcı üzerinden AI modellerinizle sohbet edebilir, belge yükleyebilir ve RAG (Retrieval-Augmented Generation) ile dokümanlarınızı sorgulayabilirsiniz.
Open WebUI Nedir?
Open WebUI, self-hosted AI deneyimi için tasarlanmış kapsamlı bir web arayüzüdür. Temel özellikleri:
- ChatGPT Benzeri Arayüz: Modern, kullanıcı dostu sohbet deneyimi
- Ollama Entegrasyonu: Yerel LLM modelleri ile doğrudan bağlantı
- RAG Pipeline: Belge yükleme ve doküman tabanlı sorgulama
- Çoklu Kullanıcı: Kullanıcı yönetimi ve rol tabanlı erişim
- Model Yönetimi: Arayüzden model indirme, silme ve yapılandırma
- Özel Promptlar: System prompt şablonları ve paylaşım
- Sohbet Geçmişi: Tüm konuşmaların kaydı ve arama
- Markdown Desteği: Kod blokları, tablolar ve zengin metin formatı
Sistem Gereksinimleri
| Bileşen | Minimum | Önerilen |
|---|---|---|
| RAM | 4 GB (UI için) | 8 GB+ |
| Disk | 5 GB | 10 GB+ |
| Docker | 20.10+ | En güncel |
| Ollama | Kurulu ve çalışır | Aynı sunucu veya ağ |
Docker ile Kurulum
Ollama Aynı Sunucuda
Eğer Ollama aynı sunucuda çalışıyorsa:
docker run -d \
--name open-webui \
-p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
-v open-webui:/app/backend/data \
--restart unless-stopped \
ghcr.io/open-webui/open-webui:main
Ollama ile Birlikte (Tek Container)
Ollama ve Open WebUI'yi tek container'da çalıştırmak için:
docker run -d \
--name open-webui \
-p 3000:8080 \
--gpus all \
-v ollama:/root/.ollama \
-v open-webui:/app/backend/data \
--restart unless-stopped \
ghcr.io/open-webui/open-webui:ollama
Docker Compose (Önerilen)
version: '3.8'
services:
ollama:
image: ollama/ollama
container_name: ollama
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
restart: unless-stopped
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
ports:
- "3000:8080"
environment:
- OLLAMA_BASE_URL=http://ollama:11434
- WEBUI_SECRET_KEY=guclu-bir-secret-key-buraya
- ENABLE_SIGNUP=true
- DEFAULT_USER_ROLE=pending
volumes:
- open-webui_data:/app/backend/data
depends_on:
- ollama
restart: unless-stopped
volumes:
ollama_data:
open-webui_data:
Başlatma:
docker compose up -d
İlk Yapılandırma
Tarayıcıdan http://SUNUCU_IP:3000 adresine gidin.
Admin Hesabı Oluşturma
İlk kayıt olan kullanıcı otomatik olarak admin olur:
- Sign Up butonuna tıklayın
- Ad, e-posta ve şifre girin
- İlk kullanıcı admin rolü alır
İlk kullanıcıyı hemen oluşturun. Aksi halde başka biri admin olabilir. Kayıt sonrası ENABLE_SIGNUP=false yaparak yeni kayıtları kapatabilirsiniz.
Ollama Bağlantısı
Admin panelinden Ollama bağlantısını doğrulayın:
- Admin Panel → Settings → Connections
- Ollama URL:
http://ollama:11434(Docker Compose) veyahttp://host.docker.internal:11434 - Test Connection ile bağlantıyı doğrulayın
Model Yönetimi
Arayüzden Model İndirme
- Admin Panel → Settings → Models
- Model adını girin (örn:
llama3.1) - Pull butonuna tıklayın
- İndirme ilerlemesini takip edin
Komut Satırından Model İndirme
# Ollama container'ına bağlanarak
docker exec -it ollama ollama pull llama3.1
docker exec -it ollama ollama pull mistral
docker exec -it ollama ollama pull codellama
Model Ayarları
Her model için özel parametreler ayarlayabilirsiniz:
Temperature: 0.7 # Yaratıcılık seviyesi (0-1)
Top P: 0.9 # Nucleus sampling
Context Length: 4096 # Bağlam penceresi
Max Tokens: 2048 # Maksimum yanıt uzunluğu
RAG (Retrieval-Augmented Generation)
Open WebUI, belge yükleme ve doküman tabanlı sorgulama desteği sunar:
Belge Yükleme
- Sohbet penceresinde + butonuna tıklayın
- PDF, TXT, DOCX, MD dosyası yükleyin
- Belge otomatik olarak parçalanır ve embedding oluşturulur
- Sohbette belgeye referans vererek sorular sorun
RAG Yapılandırması
Admin Panel → Settings → Documents:
Chunk Size: 1000 # Belge parça boyutu
Chunk Overlap: 200 # Parçalar arası örtüşme
Embedding Model: nomic-embed-text # Embedding modeli
Top K: 5 # Sorgu başına dönen parça sayısı
Embedding Modeli Kurulumu
# RAG için embedding modeli indirin
docker exec -it ollama ollama pull nomic-embed-text
Kullanıcı Yönetimi
Roller
- Admin: Tam yetki (ayarlar, kullanıcılar, modeller)
- User: Sohbet ve belge yükleme
- Pending: Onay bekleyen kullanıcı
Kullanıcı Ayarları
Admin Panel → Users:
# Ortam değişkenleri ile yapılandırma
ENABLE_SIGNUP=true # Kayıt açık/kapalı
DEFAULT_USER_ROLE=pending # Varsayılan rol (pending/user)
ENABLE_LOGIN_FORM=true # Giriş formu
Özel System Prompt
Her model için özel system prompt tanımlayabilirsiniz:
- Workspace → Models → Model seçin
- System Prompt alanına yazın:
Sen REXE Teknoloji teknik destek asistanısın.
Sunucu yönetimi, Docker, Linux ve ağ konularında uzmanlaşmışsın.
Yanıtlarını Türkçe ver.
Kod örnekleri ekle.
Adım adım açıkla.
Prompt Şablonları
Workspace → Prompts → Create Prompt:
Title: Linux Sorun Giderme
Command: /linux-fix
Content: "Aşağıdaki Linux sorununu analiz et ve çözüm öner:
1. Sorunun olası nedenlerini listele
2. Teşhis komutlarını ver
3. Adım adım çözüm yaz
4. Önleme önerileri ekle
Sorun: {{prompt}}"
Nginx Reverse Proxy
Open WebUI'yi domain ile erişilebilir yapmak için:
server {
listen 80;
server_name ai.example.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name ai.example.com;
ssl_certificate /etc/letsencrypt/live/ai.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ai.example.com/privkey.pem;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# WebSocket desteği
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
# Büyük dosya yükleme için
client_max_body_size 100M;
}
Güncelleme
# Docker Compose ile güncelleme
docker compose pull
docker compose up -d
# Tek container güncelleme
docker pull ghcr.io/open-webui/open-webui:main
docker stop open-webui
docker rm open-webui
# Aynı run komutuyla yeniden başlatın
Sorun Giderme
# Open WebUI logları
docker logs open-webui
# Ollama bağlantı testi
docker exec open-webui curl -s http://ollama:11434/api/tags
# Container durumu
docker ps | grep -E 'open-webui|ollama'
# Veri dizini boyutu
docker exec open-webui du -sh /app/backend/data
REXE VPS sunucularında Open WebUI ile kendi ChatGPT alternatifini kurabilirsiniz. Verileriniz tamamen sizin kontrolünüzde kalır.
İlgili Makaleler
Ollama Kurulumu: Yerel LLM Çalıştırma Rehberi
Ollama kurulumu, yerel LLM modelleri çalıştırma (Llama 3, Mistral, Gemma), API kullanımı, model yönetimi, GPU hızlandırma ve Docker ile deployment.
GPU Sunucuda AI Model Deployment: NVIDIA CUDA Rehberi
NVIDIA sürücü kurulumu, CUDA toolkit, nvidia-container-toolkit, vLLM ile model serving, GPU monitoring ve Docker ile AI model deployment rehberi.
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.