Günlük diziniDockup / saha notu
Note / self-host-open-webui

2026'da Open WebUI Nasıl Self-Host Edilir: Model Endpoint'leri, Depolama ve Güvenlik

Docker, portlar, kalıcı veriler, TLS, güvenlik, yedekler ve production kullanımını engelleyen sorunları kapsayan pratik bir Open WebUI self-hosting rehberi. 2026.

Open WebUI'yi bir Docker image'ı olarak değil, küçük bir sistem olarak ele alın. Open WebUI için kullanıcıya yönelik hedef nettir: OpenAI uyumlu ve local model endpoint'leri için bir chat arayüzü; deployment ancak tek bir remote model endpoint'ine bağlanabildiğinizde, bir chat yanıtını stream edebildiğinizde, bir doküman yükleyebildiğinizde, retrieval çalıştırabildiğinizde ve restart sonrasında konuşmayı yeniden açabildiğinizde kabul edilebilir.

Bu ayrım, operatörlerin local test sonrasında karşılaştığı failure mode'unu ortaya çıkarır: OLLAMA_BASE_URL, WebUI container'ı içinde localhost'u gösterir. Ayrıca backup ve upgrade planını test edilebilecek kadar somut hâle getirir.

Uygulanabilir en küçük Open WebUI topolojisini seçin

Open WebUI network namespace'iyle başlayın: web listener'ı 8080 portudur; bir laptop tutorial'ından kopyalanmış host portu değildir. Open WebUI'nin network contract'ı, OpenAI uyumlu bir API veya erişilebilir bir Ollama service'idir. Private endpoint'leri internal DNS üzerinde tutun, yalnızca gerekli outbound çağrılara izin verin ve Open WebUI'ye kapsamı sınırlı bir service credential verin.

Gereksinim karşılandıktan sonra eksiksiz senaryoyu çalıştırın — tek bir remote model endpoint'ine bağlanın, bir chat yanıtını stream edin, bir doküman yükleyin, retrieval çalıştırın ve restart sonrasında konuşmayı yeniden açın. Model latency'si, concurrent stream'ler, embedding job'ları, yüklenen dosya boyutu ve vector index büyümesi için log'ları ve ölçümleri kaydedin. Bu kanıt, ilk known-good architecture'ı oluşturur ve Dockup compute ile bağlı bir server arasındaki sonraki geçişleri test edilebilir hâle getirir.

TLS kolaydır; oluşturulan URL'ler değildir

TLS issuance, Open WebUI route'unun yalnızca yarısıdır. Model endpoint'ine container network'ünden erişilebildiğinden emin olun. Trafiği internal olarak 8080'e gönderin ve oluşturulan URL'lerin ve secure cookie'lerin tutarlı kalması için external scheme'i forward edin.

Eksiksiz Open WebUI senaryosunu yalnızca root page'de değil, temiz bir network üzerinden çalıştırın. 502 veya certificate failure, automatic domain and TLS setup ile izole edilebilir. Trafik process'e ulaşıyor ve OLLAMA_BASE_URL, WebUI container'ı içinde localhost'u gösteriyorsa, redirect'leri üst üste eklemek yerine durumu ortaya çıktığı yerde teşhis edin.

Open WebUI'yi hareketli parçaları gizlemeden başlatın

İlk Open WebUI invocation'ını bir pull request'te incelenebilecek kadar reproducible tutun.

docker run -d \
  --name open-webui \
  --restart unless-stopped \
  -p 127.0.0.1:8080:8080 \
  -v open-webui-data:/app/backend/data \
  -e WEBUI_SECRET_KEY=replace-with-a-long-random-value \
  ghcr.io/open-webui/open-webui:main

Gerçek veriler oluştuktan sonra latest kullanmayın. Çalışan digest'i, container user'ını ve mount ownership'ini kaydedin. Production trafiğini route'un arkasına almadan önce application log'unu eksiksiz bir test boyunca takip edin — tek bir remote model endpoint'ine bağlanın, bir chat yanıtını stream edin, bir doküman yükleyin, retrieval çalıştırın ve restart sonrasında konuşmayı yeniden açın — ve migration'ları not edin.

Open WebUI'yi tahmin yürütmeden upgrade edin

Idle health check, Open WebUI hakkında çok az şey söyler. Model latency'sini, concurrent stream'leri, embedding job'larını, yüklenen dosya boyutunu ve vector index büyümesini izleyin; ardından kullanıcıların deneyimlediği belirti için alert oluşturun: “tek bir remote model endpoint'ine bağlanma, bir chat yanıtını stream etme, bir doküman yükleme, retrieval çalıştırma ve restart sonrasında konuşmayı yeniden açma” action'ının başarısız olması. Liveness'ı local ve ucuz tutun; readiness migration veya initialization durumunu bildirsin, ancak restart storm'a neden olmasın.

Riskli upgrade alanı, database migration'larının, retrieval backend'lerinin ve model endpoint ayarlarının chat frontend'inden bağımsız olarak değişebilmesidir. Release notes'ları okuyun, state'in snapshot'ını alın, target version'ı restore edilmiş bir kopya üzerinde deploy edin ve acceptance action'ını tekrarlayın. OLLAMA_BASE_URL, WebUI container'ı içinde localhost'u gösteriyorsa client request'i ilk ilgili application log'uyla ilişkilendirin; state'i silmeyin veya körlemesine redirect eklemeyin.

Container health check'ten daha güçlü beş kontrol

Open WebUI için ilk kullanıcı trafiğini acceptance test'i olarak kullanmayın. Zararsız sample state hazırlayın ve eksiksiz “tek bir remote model endpoint'ine bağlanma, bir chat yanıtını stream etme, bir doküman yükleme, retrieval çalıştırma ve restart sonrasında konuşmayı yeniden açma” action'ını çalıştırın. Çalıştırmayla ilişkili tam public URL'yi, sonucu, image reference'ını ve log interval'ını not edin.

Container'ı replace edin ve data'yı yeniden build etmeden tekrarlayın. Ardından boş bir host üzerinde recovery yapın; recovery condition, account'ların, chat'lerin, dosyaların ve retrieval collection'larının geri gelmesi ve restore edilmiş instance'ın aynı model endpoint'ine erişebilmesidir. Her pass'te model latency'sini, concurrent stream'leri, embedding job'larını, yüklenen dosya boyutunu ve vector index büyümesini gözlemleyin; alert'i idle container metric'leri yerine transaction'daki degradation etrafında tanımlayın.

Son bir kontrol bilerek başarısız olmalıdır: test identity'sinin bir OpenAI uyumlu API'ye veya erişilebilir bir Ollama service'ine erişimini geçici olarak engelleyin. Ortaya çıkan Open WebUI mesajının, data deletion'ı veya sonsuz bir restart'ı tetiklemek yerine ilgili boundary'yi tanımladığını doğrulayın. Geçerli koşulu geri yükleyin ve aynı sample transaction'ın başarılı olduğunu onaylayın. Bu kısa drill'i release checklist'te tutun.

Open WebUI'deki tüm kalıcı byte'ları bulun

Open WebUI için redeploy safety; user'lar, chat'ler, dosyalar, vector data ve application configuration ile başlar. Bootstrap işleminden önce /app/backend/data'yı mount edin, zararsız sample data yazın ve bu path'in gerçekten persistent olduğunu kanıtlamak için container'ı replace edin. Zararsız sample data mevcutken container'ı replace ederek path'i test edin; bu işlem, bir directory fazla üstte veya altta konumlandırılmış mount'ları ortaya çıkarır.

Ardından blank host üzerinde disaster recovery'yi test edin. Gerektiğinde application-consistent database export kullanın ve account'ların, chat'lerin, dosyaların ve retrieval collection'larının geri geldiğini, restore edilmiş instance'ın da aynı model endpoint'ine erişebildiğini doğrulayın. Restore edilmiş database backup rehberi, yalnızca bir archive file oluşturulduğunu kontrol etmekten daha güçlü bir hedef sunar.

Open WebUI'ye tüm host'un yetkilerini vermeyin

Güvenli bir Open WebUI deployment'ı, authority'yi azaltarak başlar. Signup'ı açık bırakmaktan veya ephemeral WEBUI_SECRET_KEY kullanmaktan kaçının; bunun yerine public sign-up'ı amaçlanmadığı sürece devre dışı bırakın, sabit bir WebUI secret saklayın ve model administration'ı yalnızca güvenilir user'larla sınırlayın.

WEBUI_SECRET_KEY'i Open WebUI'deki rolüne uygun şekilde ele alın: sensitive value'ları Git dışında tutun, rotation etkilerini dokümante edin ve production'da public bir örneği asla kullanmayın. Administrative route'ları kısıtlayın, dependency'ler için private DNS kullanın ve her bind mount'u gözden geçirin. Log'lar merkezi olarak gönderildiğinde, server'dan çıkmadan önce secret'ları ve private content'i filtreleyin.

Platform katmanı için Dockup kullanın

Dockup, Open WebUI etrafındaki manuel reverse-proxy ve lifecycle işlerini ortadan kaldırır. Service, 8080'e yönlenen sabit bir HTTPS route'u, injected configuration'ı ve replacement sırasında persistent storage'ı alır. Bağlı bir customer server, Dockup-hosted compute ile aynı modeli izler.

Launch sonrasında application contract'ını karşılayın: model endpoint'ine container network'ünden erişilebildiğinden emin olun, bir OpenAI uyumlu API'ye veya erişilebilir bir Ollama service'ine bağlanıp test edin ve şu kanıtı çalıştırın: tek bir remote model endpoint'ine bağlanın, bir chat yanıtını stream edin, bir doküman yükleyin, retrieval çalıştırın ve restart sonrasında konuşmayı yeniden açın. Bu yaklaşım, Open WebUI'yi recoverable ve secure kılan ayrıntıları düzleştirmeden one-click deneyimini kullanışlı tutar.

Sık sorulan sorular

Production deployment için Open WebUI'nin neye ihtiyacı vardır?

Open WebUI container'ını tek bir HTTPS origin üzerinden 8080 portuna route edin. Destekleyen network gereksinimi, OpenAI uyumlu bir API veya erişilebilir bir Ollama service'idir. Tek bir remote model endpoint'ine bağlanamadığınız, bir chat yanıtını stream edemediğiniz, bir doküman yükleyemediğiniz, retrieval çalıştıramadığınız ve restart sonrasında konuşmayı yeniden açamadığınız sürece Open WebUI'nin hazır olduğunu söylemeyin.

Hangi Open WebUI verileri backup'a dahil edilmelidir?

/app/backend/data'yı persist edin ve user'ları, chat'leri, dosyaları, vector data'yı ve application configuration'ı aynı recovery manifest'ine dahil edin. Temiz bir Open WebUI restore işlemi yalnızca account'lar, chat'ler, dosyalar ve retrieval collection'ları geri geldiğinde ve restore edilmiş instance aynı model endpoint'ine erişebildiğinde başarılı sayılır.

Open WebUI, reverse proxy arkasında HTTPS gerektirir mi?

Public Open WebUI origin'i için HTTPS kullanın ve 8080 portunu internal route üzerinde tutun. Open WebUI ayarını doğru uygulayın: model endpoint'ine container network'ünden erişilebildiğinden emin olun. Open WebUI için HTTPS, credentials veya user content'in transit sırasında korunmasını sağlar ve origin'e duyarlı client davranışını tutarlı kılar.

Open WebUI upgrade'i nasıl test edilmelidir?

Mevcut Open WebUI state'ini izole bir deployment'a restore edin, candidate version'ı uygulayın ve acceptance transaction'ını tekrarlayın. Database migration'ları, retrieval backend'leri ve model endpoint ayarları chat frontend'inden bağımsız olarak değişebileceği için özellikle dikkatli olun. Data migration ve rollback boundary'leri anlaşılana kadar önceki Open WebUI image'ını saklayın.