Arama Yap Mesaj Gönder
Biz Sizi Arayalım
+90
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro

Bize Ulaşın

Konum Halkalı merkez mahallesi fatih cd ozgur apt no 46 , Küçükçekmece , İstanbul , 34303 , TR
Ubuntu 24.04 Open WebUI Kurulumu: Ollama, Nginx, SSL ve Domain Rehberi
Open WebUI, Ollama, Docker ve Ubuntu 24.04

Ubuntu 24.04 Üzerinde Open WebUI Kurulumu: Ollama, Qwen3, Nginx ve SSL ile A’dan Z’ye Resimli Rehber

Bu rehberde gerçek Ubuntu 24.04.4 LTS VPS üzerinde Open WebUI’ı Docker ile kurduk, kalıcı openwebui_data volume ve WEBUI_SECRET_KEY hazırladık, uygulamayı yalnız 127.0.0.1:3000 üzerinde yayınladık, aynı eka-ai Docker ağındaki Ollama’ya http://ollama:11434 üzerinden bağladık ve openwebui.ekasunucu.com alan adını Nginx + Let’s Encrypt HTTPS ile kullanıma açtık. İlk health beklemesinden yönetici hesabına ve qwen3:4b sohbet paneline kadar gerçek ekran görüntülerini kullandık.

Ubuntu 24.04Open WebUIOllamaQwen3qwen3:4bDockerNginxLet’s EncryptSSLSelf Hosted AILocal AILinux VPSEKA Sunucu
Ollama / Qwen3 / Open WebUI / Ubuntu 24.04
Ubuntu 24.04.4 LTS
   ↓ Docker / eka-ai
Open WebUI :8080
   ↓ 127.0.0.1:3000
   ↓
Ollama :11434 → qwen3:4b
   ↓
Nginx + Let’s Encrypt :443
   ↓
openwebui.ekasunucu.com
Ollama0.32.6Open WebUI0.11.0 test
13gerçek WebP ekranı
3TR · EN · DE içerik
443public HTTPS
127.0.0.1AI service loopback
01Open WebUI Docker kurulumu
02Ollama + qwen3:4b bağlantısı
03Nginx + Let’s Encrypt HTTPS
043000/11434 localhost güvenliği
00
İçindekiler

Ubuntu 24.04 Open WebUI kurulum adımları

  1. 01Domain, DNS, kalıcı data volume ve secret key katmanını hazırlayın
  2. 02Open WebUI containerını eka-ai ağına bağlayıp localhost 3000'de başlatın
  3. 03İlk health kontrolü hemen 200 dönmezse logları izleyin ve migrationların bitmesini bekleyin
  4. 04Open WebUI containerından Ollama API ve qwen3:4b modelini doğrulayın
  5. 05openwebui.ekasunucu.com alan adını localhost 3000'e reverse proxy edin
  6. 06Let's Encrypt sertifikasını alın ve Open WebUI domainini HTTPS'e taşıyın
  7. 073000 ve 11434 localhost'ta kalırken yalnız Nginx 80/443 public dinlesin
  8. 08Certbot renewal dry-run, container health ve sistem hatalarını birlikte doğrulayın
  9. 09Open WebUI karşılama ekranını HTTPS alan adı üzerinden açın
  10. 10İlk Open WebUI hesabını yönetici olarak oluşturun
  11. 11Open WebUI sohbet ekranında qwen3:4b modelini seçin ve yerel sohbeti başlatın
  12. 12Volume yedeği, kontrollü image güncellemesi ve reboot testini rutine bağlayın
01
Open WebUI hazırlığı

Domain, DNS, kalıcı data volume ve secret key katmanını hazırlayın

Open WebUI için openwebui.ekasunucu.com alan adını test VPS IP'sine yönlendirdik ve DNS çözümlemesini doğruladık. Open WebUI verileri için openwebui_data named volume oluşturuldu.

Ayrıca oturum ve uygulama güvenliği için WEBUI_SECRET_KEY üretildi. Üretim ortamında bu değeri güvenli bir dosyada veya secret manager içinde kalıcı tutun; containerı yeniden oluştururken rastgele farklı bir key ile değiştirmeyin.

Komut 1
dig +short openwebui.ekasunucu.com @1.1.1.1
dig +short openwebui.ekasunucu.com @8.8.8.8
Komut 2
docker volume create openwebui_data
Komut 3
umask 077
[ -s /root/.openwebui_secret_key ] || openssl rand -hex 32 > /root/.openwebui_secret_key
WEBUI_SECRET_KEY="$(cat /root/.openwebui_secret_key)"
02
Open WebUI Docker

Open WebUI containerını eka-ai ağına bağlayıp localhost 3000'de başlatın

Gerçek testte ghcr.io/open-webui/open-webui:main image'ı kullanıldı. Host portu 127.0.0.1:3000 ile sınırlandırıldı, container içi uygulama portu 8080 olarak kaldı ve openwebui_data /app/backend/data konumuna bağlandı.

Ollama aynı eka-ai ağında olduğu için OLLAMA_BASE_URL değerini http://ollama:11434 olarak verdik. Bu yaklaşım iki container arasında Docker DNS adını kullanır ve host üzerinde Ollama portunu public açmayı gerektirmez.

Komut 1
docker pull ghcr.io/open-webui/open-webui:main
Komut 2
WEBUI_SECRET_KEY="$(cat /root/.openwebui_secret_key)"
docker run -d --name open-webui --restart unless-stopped --network eka-ai -p 127.0.0.1:3000:8080 -e OLLAMA_BASE_URL=http://ollama:11434 -e WEBUI_SECRET_KEY="$WEBUI_SECRET_KEY" -v openwebui_data:/app/backend/data ghcr.io/open-webui/open-webui:main
Komut 3
docker ps --filter name='^/open-webui$'
03
İlk başlatma süresi

İlk health kontrolü hemen 200 dönmezse logları izleyin ve migrationların bitmesini bekleyin

Open WebUI ilk başlatmada veritabanı migrationları ve bazı yerel yardımcı modelleri hazırlayabilir. Bizim testimizde ilk dakikalarda connection reset ve HTTP 000 sonuçları görüldü; container çalışıyor olsa da health henüz hazır değildi.

Loglarda migrationlar tamamlandıktan ve embedding modeli yüklendikten sonra /health endpointi 200 ve {"status":true} döndürdü. İlk boot sırasında containerı tekrar tekrar silip oluşturmak yerine logları izlemek daha doğru teşhis sağlar.

Komut 1
docker logs -f --tail 150 open-webui
Komut 2
until [ "$(curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:3000/health || true)" = "200" ]; do sleep 5; done
curl -sS http://127.0.0.1:3000/health
Komut 3
docker inspect open-webui --format 'Durum={{.State.Status}} Health={{if .State.Health}}{{.State.Health.Status}}{{else}}yok{{end}}'
04
Model bağlantısı

Open WebUI containerından Ollama API ve qwen3:4b modelini doğrulayın

Host üzerindeki Ollama testi başarılı olsa bile Open WebUI containerından erişim ayrıca doğrulanmalıdır. Aynı Docker ağı kullanıldığında hedef adres ollama:11434'tür.

Open WebUI arayüzü model listesini bu bağlantı üzerinden alır. Eğer qwen3:4b görünmüyorsa önce Ollama containerındaki /api/tags sonucunu, sonra Open WebUI connection ayarını ve Docker network üyeliğini kontrol edin.

Komut 1
docker exec open-webui python -c "import urllib.request; print(urllib.request.urlopen('http://ollama:11434/api/tags').read().decode())"
Komut 2
docker network inspect eka-ai --format '{{range .Containers}}{{.Name}} {{.IPv4Address}}{{println}}{{end}}'
05
Nginx + WebSocket

openwebui.ekasunucu.com alan adını localhost 3000'e reverse proxy edin

Open WebUI host portunu internete açmak yerine Nginx'i public giriş katmanı yaptık. Nginx 80/443 üzerinde dinler, istekleri 127.0.0.1:3000'e iletir ve WebSocket upgrade başlıklarını korur.

Sunucu adını doğru yazın, yapılandırmayı etkinleştirdikten sonra mutlaka nginx -t çalıştırın. Syntax testi başarılı olmadan reload yapmayın.

Komut 1
cat >/etc/nginx/sites-available/openwebui.ekasunucu.com <<'EOF'
server {
    listen 80;
    listen [::]:80;
    server_name openwebui.ekasunucu.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        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;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_read_timeout 3600;
    }
}
EOF
ln -sfn /etc/nginx/sites-available/openwebui.ekasunucu.com /etc/nginx/sites-enabled/openwebui.ekasunucu.com
nginx -t
systemctl reload nginx
06
HTTPS yayını

Let's Encrypt sertifikasını alın ve Open WebUI domainini HTTPS'e taşıyın

Nginx reverse proxy hazırlandıktan sonra Certbot ile openwebui.ekasunucu.com için Let's Encrypt sertifikası aldık. Gerçek testte sertifika Nginx yapılandırmasına başarıyla deploy edildi.

Final kontrolde hem origin HTTPS hem domain HTTPS isteği 200 döndü. Böylece kullanıcılar artık localhost portunu veya Docker portunu değil doğrudan güvenli alan adını kullanır.

Komut 1
certbot --nginx -d openwebui.ekasunucu.com
Komut 2
curl -I https://openwebui.ekasunucu.com
Komut 3
certbot certificates
07
Saldırı yüzeyini azaltma

3000 ve 11434 localhost'ta kalırken yalnız Nginx 80/443 public dinlesin

Kurulumun final port kontrolünde Ollama 127.0.0.1:11434, Open WebUI 127.0.0.1:3000 üzerinde; Nginx ise public 80 ve 443 üzerinde dinliyordu. Bu ayrım özellikle Ollama API'sinin internete kimlik doğrulamasız açılmasını engeller.

Docker publish kuralları firewall davranışını etkileyebildiği için yalnız UFW çıktısına güvenmeyin. ss ile gerçek dinleyen socketleri ve docker ps ile publish edilen portları birlikte kontrol edin.

Komut 1
ss -lntp | grep -E ':80 |:443 |:3000 |:11434' || true
Komut 2
docker ps --format 'table {{.Names}}\t{{.Image}}\t{{.Status}}\t{{.Ports}}'
08
Final altyapı testi

Certbot renewal dry-run, container health ve sistem hatalarını birlikte doğrulayın

Let's Encrypt kurulduktan sonra otomatik yenileme mekanizmasını varsaymak yerine certbot renew --dry-run ile simülasyon yaptık. Open WebUI ve Portainer sertifikalarının test yenilemeleri başarılı tamamlandı.

Final durumda Open WebUI healthy, Ollama çalışıyor, domain HTTPS 200 ve systemctl --failed çıktısı boştu. Bu kontroller kurulumun yalnız açıldığını değil, temel servis zincirinin birlikte sağlıklı olduğunu gösterir.

Komut 1
certbot renew --dry-run
Komut 2
curl -sS -o /dev/null -w '%{http_code}\n' https://openwebui.ekasunucu.com
Komut 3
docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}'
systemctl --failed
09
İlk web erişimi

Open WebUI karşılama ekranını HTTPS alan adı üzerinden açın

Altyapı tamamlandıktan sonra tarayıcıdan https://openwebui.ekasunucu.com adresini açtık. İlk ekranda Open WebUI karşılama sayfası görüntülendi ve Başlayın düğmesiyle hesap kurulumuna geçildi.

Bu aşamada adres çubuğunda doğrudan domain kullanılması önemlidir. 3000 portuna public erişim gerekmemeli; Nginx ve TLS katmanı kullanıcı trafiğini karşılamalıdır.

10
İlk kullanıcı

İlk Open WebUI hesabını yönetici olarak oluşturun

Open WebUI ilk kullanıcı kayıt ekranında ad, e-posta ve güçlü parola ile yönetici hesabını oluşturduk. İlk oluşturulan hesap yönetim ayarlarına erişen ana hesaptır.

Üretimde kişisel veya ortak kullanılan zayıf parola tercih etmeyin. Yönetici hesabını oluşturduktan sonra yeni kullanıcı kayıt/approval politikasını ihtiyacınıza göre ayrıca kontrol edin.

11
Kullanıma hazır yerel AI

Open WebUI sohbet ekranında qwen3:4b modelini seçin ve yerel sohbeti başlatın

Yönetici hesabı tamamlandığında Open WebUI model listesinden qwen3:4b seçilebilir hale geldi. Böylece tarayıcı arayüzü → Open WebUI → Ollama → qwen3:4b zinciri uçtan uca tamamlandı.

Bu mimaride model inference Ollama üzerinde sunucuda gerçekleşir. Open WebUI ise sohbet geçmişi, kullanıcı arayüzü ve bağlantı katmanını sağlar. Daha büyük model kullanacaksanız CPU/RAM/GPU kapasitesini yeniden planlayın.

12
Üretim bakımı

Volume yedeği, kontrollü image güncellemesi ve reboot testini rutine bağlayın

Ollama model verisi ollama_data, Open WebUI uygulama verisi openwebui_data volume'unda tutulur. Güncelleme öncesi VPS snapshotı ve volume yedeği almak, rollback ihtiyacında işleri kolaylaştırır.

Gerçek test :main image'ıyla yapılmıştır. Üretimde önce yedek alın, image sürümünü bilinçli güncelleyin, containerı yeniden oluşturduktan sonra /health, Ollama /api/tags, domain HTTPS, port bindleri ve reboot sonrası otomatik başlangıcı tekrar doğrulayın.

Komut 1
docker run --rm -v ollama_data:/kaynak -v /root:/yedek alpine sh -c 'tar czf /yedek/ollama_data-$(date +%F).tar.gz -C /kaynak .'
Komut 2
docker run --rm -v openwebui_data:/kaynak -v /root:/yedek alpine sh -c 'tar czf /yedek/openwebui_data-$(date +%F).tar.gz -C /kaynak .'
Komut 3
docker restart ollama open-webui
curl -sS http://127.0.0.1:3000/health
curl -sS http://127.0.0.1:11434/api/tags
Production checklist

Open WebUI üretim güvenliği kontrol listesi

Open WebUI 3000 portunu doğrudan public internete açmayın.
Ollama 11434 portunu localhost veya private Docker ağı üzerinde tutun.
WEBUI_SECRET_KEY değerini güvenli ve kalıcı biçimde saklayın.
openwebui_data volume için düzenli yedekleme planı oluşturun.
İlk yönetici hesabında güçlü ve benzersiz parola kullanın.
Public erişimi Nginx + HTTPS üzerinden verin ve WebSocket başlıklarını koruyun.
Certbot renewal durumunu ve renew --dry-run testini periyodik çalıştırın.
Image güncellemesinden önce VPS snapshotı veya rollback planı hazırlayın.
Reboot sonrasında /health, Ollama bağlantısı, domain HTTPS ve port bindlerini yeniden doğrulayın.
R
Resmî kaynaklar

Resmî Open WebUI ve Ollama kaynakları

+
EKA Sunucu

İlgili EKA Sunucu Open WebUI, Ollama ve n8n rehberleri

?
FAQ

Ubuntu 24.04 Open WebUI kurulumu hakkında sık sorulan sorular

Open WebUI Ubuntu 24.04 üzerinde Docker ile çalışır mı?

Evet. Bu gerçek testte Open WebUI v0.11.0 Ubuntu 24.04.4 LTS üzerinde Docker containerı olarak çalıştı.

Open WebUI hangi portu kullanıyor?

Container içinde 8080 kullanıldı; host tarafında yalnız 127.0.0.1:3000’e bind edildi.

Open WebUI Ollama’ya hangi URL ile bağlanıyor?

Her iki container aynı eka-ai Docker ağında olduğu için http://ollama:11434 adresi kullanıldı.

Ollama portu internete açılmalı mı?

Hayır. Bu mimaride 11434 yalnız localhost’ta kaldı ve Open WebUI Ollama’ya Docker ağı üzerinden ulaştı.

Open WebUI ilk açılışta neden unhealthy görünebilir?

İlk başlangıçta migrationlar ve embedding modeli hazırlığı yapılabilir. Gerçek testte ilk dakikalarda HTTP 000/connection reset görülüp birkaç dakika sonra /health 200 döndü.

Open WebUI hangi embedding modelini indirdi?

Gerçek loglarda sentence-transformers/all-MiniLM-L6-v2 dosyalarının Hugging Face üzerinden indirildiği görüldü.

WEBUI_SECRET_KEY ne işe yarar?

Oturum ve uygulama güvenliği için kullanılan kalıcı secret değeridir. Container yeniden oluşturulurken aynı değerin korunması gerekir.

Open WebUI verileri nerede tutuluyor?

Bu kurulumda openwebui_data named volume /app/backend/data yoluna bağlandı.

Open WebUI için Nginx WebSocket ayarı gerekli mi?

Evet. Reverse proxy’de HTTP/1.1, Upgrade ve Connection başlıklarının iletilmesi gerekir.

SSL nasıl kuruldu?

openwebui.ekasunucu.com Nginx vhost’u hazırlandıktan sonra Certbot --nginx ile Let’s Encrypt sertifikası alındı.

SSL yenilemesi nasıl test edilir?

certbot renew --dry-run ile sertifika yenileme mekanizması canlı sertifikayı değiştirmeden test edilebilir.

İlk Open WebUI hesabı yönetici mi olur?

İlk oluşturulan kullanıcı yönetici hesabı olarak kullanılır; sonrasında kullanıcı kayıt ve approval politikaları panelden yönetilebilir.

qwen3:4b Open WebUI içinde nasıl görünür?

Ollama bağlantısı başarılı olduğunda qwen3:4b model listesinde görünür ve sohbet panelinden seçilebilir.

Üretimde :main Docker etiketi kullanılmalı mı?

Gerçek test :main etiketiyle yapıldı. Üretimde kontrollü güncelleme için test edilmiş sabit bir sürüm etiketi daha öngörülebilir olabilir.

EKA YAZILIM VE BİLİŞİM SİSTEMLERİ

Open WebUI ve yerel yapay zeka için Linux VPS mi arıyorsunuz?

Ollama, Qwen3, Open WebUI ve n8n gibi self-hosted AI servislerini kendi sunucunuzda çalıştırmak için EKA Sunucu Linux VPS paketlerini inceleyebilirsiniz.

Güncellendi: 10.08.2026
Linux VPS Paketlerini İnceleLinux ve VPS Rehberleri
Top