SSD Nodes Learn Hosting plans →
Rehberler Matt ConnorYazan Matt Connor

VPS üzerinde Ollama kurulumu ve güvenli kullanımı

7B parametreli bir model 8 GB RAM gerektirir ve CPU üzerinde saniyede 4 ile 10 token üretir. Ollama servisini 127.0.0.1:11434 adresinde tutarak 11434 portunu dışa kapatın.

Ne inşa ediyorsunuz

Kendi sunucunuzda çalışan, HTTP API üzerinden yanıt veren ve dilerseniz tarayıcınızda bir sohbet sayfası bulunan tek bir açık ağırlıklı dil modeli. Ollama, modeli indiren, belleğe yükleyen ve http://127.0.0.1:11434 üzerinde istekleri karşılayan bileşendir. Kurulum tek bir komuttan ibarettir. İşin zor kısımları başka yerdedir: VPS'nizin RAM kapasitesine uygun bir model seçmek ve kimlik doğrulaması olmayan bir çıkarım (inference) sunucusunu yanlışlıkla tüm internete açmamak.

Öncelikle iki dürüst uyarı. Sadece CPU kullanan bir VPS, küçük modelleri yavaş çalıştırır ve API üzerinde yerleşik bir kimlik doğrulama mekanizması bulunmaz. Her iki konu da aşağıda ayrıntılı olarak ele alınmıştır, çünkü kullanıcıların sorun yaşadığı noktalar bunlardır.

Boyutlandırma gerçekliği, net rakamlarla

Bir modelin bellek ayak izi kabaca dosya boyutuna, yaklaşık bir gigabaytlık çalışma zamanı ek yüküne ve bağlam penceresi için gereken ek alana eşittir. En popüler Ollama modellerinin varsayılan etiketleri (bunların arasında llama3.2:3b, llama3.1:8b ve mistral:7b bulunur), 4-bit nicelenmiş (Q4_K_M olarak etiketlenir) haldedir ve bu da her bir milyar parametre için yaklaşık yarım gigabayt RAM tüketir. Her varsayılan değer Q4 değildir: smollm2:135m gibi çok küçük modeller 16-bit olarak sunulur, bu nedenle hesaplamaları yapmadan önce modelin kütüphane sayfasındaki nicemleme satırını kontrol edin. Aritmetik basittir ve her şeyi belirler. Son terim ise sizin belirlediğiniz değerdir: num_ctx değerini Ollama'nın varsayılanından yükseltmek, daha uzun istemler için alan açar ancak RAM üzerindeki KV önbelleğini büyütür; bu nedenle bir modelin sığıp sığmayacağına karar vermeden önce bağlam uzunluğunu belirleyin.

llama3.2:3b gibi 3B bir model yaklaşık 2 GB boyutunda bir indirmedir ve çalışmak için yaklaşık 4 GB boş RAM ister. mistral:7b veya llama3.1:8b gibi 7B veya 8B bir model diskte yaklaşık 5 GB yer kaplar ve yaklaşık 8 GB RAM ister; rahat bir çalışma için 16 GB önerilir. 13B veya 14B bir model kabaca 16 GB RAM gerektirir. 30B ile 70B aralığındaki herhangi bir model, yüksek RAM kapasiteli bir sunucu veya gerçekçi olmak gerekirse bir GPU gerektirir; CPU tabanlı bir VPS üzerinde ya sığmayacak ya da o kadar yavaş yanıt verecektir ki kullanışsız olacaktır.

Şimdi hız konusuna gelelim, çünkü insanlar tarafından en çok hafife alınan kısım budur. CPU çıkarımı saat hızına değil, bellek bant genişliğine bağlıdır ve paylaşımlı vCPU sunucular mütevazı bir bant genişliğine sahiptir. Saniyede tek haneli veya düşük çift haneli token hızları bekleyin: 7-8B Q4 bir model saniyede 4 ila 10 token, 3B bir model ise 10 ila 25 token üretebilir. Bir GPU ise yaklaşık on kat daha hızlıdır. Bu rakamlar kasıtlı olarak yaklaşık değerlerdir; en dürüst yaklaşım kendi sunucunuzu ölçmektir, bunun nasıl yapılacağı aşağıdaki çalıştırma adımında gösterilmiştir. Bu makale dahil hiçbir yazıdaki rakama değil, kendi eval rate çıktınıza güvenin.

Pratik sonuç şudur: CPU üzerinde çalışan küçük nicelenmiş modeller, hızı kabul edebiliyorsanız taslak oluşturma, özetleme ve sınıflandırma işlemleri için gerçekten kullanışlıdır. Daha büyük veya daha hızlı bir işlem için bir GPU örneği bütçesi ayırın. Eğer bu aritmetiğin belirli bir model üzerinde uçtan uca nasıl işlediğini görmek isterseniz, Nemotron 3.5 Lightning modelini bir VPS üzerinde çalıştırmak başlıklı bölüm hangi etiketin çekileceğini, gerçekte ihtiyaç duyulan RAM miktarını ve yalnızca CPU ile performansın yeterli olup olmadığını ele almaktadır.

Belirli bir modeli belirli bir sunucuyla kıyaslamak için bellek ayak izini buradan tahmin edin:

ToolLLM VRAM and model-size calculator

Ollama Kurulumu

İki temiz yöntem mevcuttur. Resmi betik, boş bir VPS üzerinde en basit yoldur:

curl -fsSL https://ollama.com/install.sh | sh

Bu işlem ollama adında bir sistem kullanıcısı oluşturur, ikili dosyayı /usr/local/bin/ollama dizinine kurar ve önyüklemede başlayan ve 127.0.0.1:11434 portunu dinleyen ollama.service adlı bir systemd servisi kaydeder. Servisin çalıştığını doğrulayın:

systemctl status ollama
ollama --version

Eğer halihazırda Docker kullanıyorsanız, bunun yerine container sürümünü kullanın:

docker run -d --name ollama \
  -p 127.0.0.1:11434:11434 \
  -v ollama:/root/.ollama \
  --restart always \
  ollama/ollama

Port eşlemesindeki 127.0.0.1: önekine dikkat edin. Bu, portu yalnızca localhost ile sınırlar. Bunun yerine -p 11434:11434 yazmak, portu tüm arayüzlerde erişilebilir kılar; bu, güvenlik bölümünde uyarılan hatadır. Yalnızca bir kurulum yöntemi seçin; betiği ve container'ı aynı anda çalıştırmayın, aksi takdirde iki süreç aynı port için çakışacaktır.

İlk modelinizi çekin ve çalıştırın

ollama pull llama3.2:3b
ollama run llama3.2:3b

pull, model katmanlarını diske indirir (bu model için yaklaşık 2 GB). run, bunları belleğe yükler ve sizi bir >>> istemine düşürür. Bir soru yazın. Ağırlıklar diskten RAM'e yüklenirken ilk token birkaç saniye sürebilir, ardından yanıt akmaya başlar. Sohbetten çıkmak için /bye yazın; Ollama arka planda çalışmaya devam eder.

Nelerin yüklendiğini ve nasıl yerleştiğini görün:

ollama ps

PROCESSOR sütunu gerçek durumu gösterir. 100% CPU, hiçbir GPU'nun kullanılmadığı anlamına gelir; yavaşlığın nedeni budur. Gerçek hızı verbose bayrağı ile ölçün:

ollama run --verbose llama3.2:3b "Write two sentences about Linux."

Sonda yazdırılan eval rate satırı, bu donanımdaki saniye başına token hızınızdır. Planlama yaparken baz almanız gereken değer budur.

Modellerin konumu ve ne kadar disk alanı ayrılmalı

Betik tarafından kurulan ve servis olarak çalıştırılan modeller, ollama kullanıcısının ev dizininde bulunur:

sudo du -sh /usr/share/ollama/.ollama/models

Kendi kullanıcınızla etkileşimli olarak çalıştırdığınızda, modeller ~/.ollama/models dizininde yer alır. Konteyner içinde ise ollama adlı volume içerisinde tutulurlar. Bu durum önemlidir çünkü kuantize edilmiş ağırlıklar hızla birikir: 3B bir model yaklaşık 2 GB, 7-8B bir model yaklaşık 5 GB, 14B bir model ise yaklaşık 9 GB yer kaplar. Karşılaştırma yapmak için dört model indirdiğinizde fark etmeden 20 GB alan harcamış olursunuz. Disk boyutunu saklamayı planladığınız modellere göre belirleyin ve geri kalanları ollama rm <model> ile silin. Eğer aynı VPS üzerinde fotoğraf kütüphanesi barındıran PhotoPrism veya Immich gibi yüksek disk tüketimine sahip başka uygulamalar çalışıyorsa, bu alanı toplam boş alandan çıkarın ve geriye kalanı gerçek model bütçeniz olarak kabul edin.

Servisi kontrolünüz altında çalıştırın

Kurulum betiği ollama.service kaydını zaten oluşturmuştur, bu nedenle servis herhangi bir ek işlem gerektirmeden sistem açılışında otomatik olarak başlar. Değiştirilmesi gereken ayarlar, bir modelin bellekte ne kadar süre tutulacağı ve bazı kurulumlarda bind adresidir; her ikisi de bir systemd drop-in dosyasına eklenmelidir, böylece bir Ollama güncellemesi bu ayarların üzerine yazmaz:

sudo systemctl edit ollama.service

Bunu, düzenleyicinin size gösterdiği [Service] başlığının altına ekleyin:

[Service]
Environment="OLLAMA_KEEP_ALIVE=30m"

OLLAMA_KEEP_ALIVE, bir modelin son istekten sonra bellekte ne kadar süre kalacağını belirler (varsayılan 5 dakikadır). Gün boyu sorgulama yaptığınız bir sunucuda ağırlıkların her seferinde yeniden yüklenmesini önlemek için bu süreyi artırın; kısıtlı kaynaklara sahip bir sunucuda ise bir istek biter bitmez RAM'i boşaltmak için 0 değerine ayarlayın. Bir modelin belirli bir süre yerine sürekli bellekte kalmasını istiyorsanız, bir Ollama modelini kalıcı olarak bellekte tutma konusu, istek bazlı keep_alive alanını ve sistem yeniden başlatıldıktan sonra ilk yavaş isteği beklemek yerine ağırlıkların nasıl hazır tutulacağını açıklar. systemctl edit birim dosyalarını sizin için yeniden yükler, bu nedenle değişikliği uygulamak için servisi yeniden başlatın:

sudo systemctl restart ollama

En kritik güvenlik noktası

Ollama varsayılan olarak 127.0.0.1:11434 adresine bağlanır, bu nedenle yalnızca VPS üzerindeki süreçler ona erişebilir. Bu varsayılan ayar doğrudur. Değiştirmeyin.

API'nin herhangi bir kimlik doğrulama mekanizması yoktur. Hiç yoktur. API anahtarı, giriş ekranı veya hız sınırlaması bulunmaz. Sahip olduğu tek izin listesi olan OLLAMA_ORIGINS, yalnızca hangi tarayıcı kaynaklarının (CORS) çağrı yapabileceğini kontrol eder; curl veya başka bir makinedeki bir betiği durdurmak için hiçbir işe yaramaz. 11434 numaralı porta erişebilen herkes, indirdiğiniz herhangi bir modeli çalıştırabilir, yenilerini indirebilir, silebilir ve CPU veya GPU'nuzu süresiz olarak tam yükte çalıştırabilir. Shodan gibi tarayıcılar, açık Ollama örneklerini binlerce kez indeksler ve dışarıya açık bir örnek saatler içinde bulunur ve istismar edilir.

Bu nedenle, asla yapılmaması gereken tek hata şudur: OLLAMA_HOST=0.0.0.0 ayarını yapıp güvenlik duvarınızda 11434 numaralı portu açmayın. Bu, kimlik doğrulaması olmayan bir çıkarım (inference) sunucusunu tüm internete açmak demektir. Hiçbir yapılandırma, 0.0.0.0 üzerinde doğrudan 11434 portunu güvenli hale getirmez; çünkü Ollama'nın belgelenmiş ayarlarının hiçbiri yerel API'ye kimlik doğrulama eklemez ve kaynak izin listesi bir giriş yöntemi değildir. Bu, söz konusu servise özel bir kuraldır; port açmayı tamamen yasaklayan bir durum değildir: uzak masaüstü için kendi kendine barındırılan bir RustDesk aktarıcısı, işini yapabilmek için genel trafiği kabul etmek zorundadır ve bunu kendi anahtar tabanlı kimlik doğrulaması ve belgelenmiş kısa bir port listesi ile sağlar; Ollama'da bunların hiçbiri yoktur.

Modeli sunucu dışından bir yerden kullanmanın üç güvenli yolu vardır:

  • Yerel tutun. Eğer tek çağırıcı aynı VPS üzerindeki başka bir program, bir cron betiği, bir bot veya araçlarınızı modele bağlayan bir MCP sunucusu ise, bağlantı adresini 127.0.0.1 olarak bırakın ve programın http://127.0.0.1:11434 adresine çağrı yapmasını sağlayın. Hiçbir şey dışarıya açılmaz ve başka bir işleme gerek kalmaz.
  • Özel bir tünel üzerinden erişin. VPS'i kendi barındırdığınız bir WireGuard VPN ağına dahil edin, OLLAMA_HOST ayarını tünel adresine (örneğin 0.0.0.0 yerine 10.8.0.1) getirin; böylece yalnızca VPN eşleri bağlanabilir. Genel internet, 11434 portunda hiçbir şey görmez.
  • Önüne kimlik doğrulamalı bir reverse proxy koyun. TLS sonlandırmasını yapın ve nginx, Traefik veya Caddy üzerinde bir parola veya token zorunlu tutun, ardından 127.0.0.1:11434 adresine proxy yapın. Ollama localhost bağlantısını korur; genel portta dinleme yapan tek şey proxy olur. Bu yapı, herhangi bir yerel servisin önüne nginx üzerinde bir Let's Encrypt sertifikası koymakla aynıdır.

Reverse-proxy seçeneği, bir sonraki adımda sohbet arayüzünün size sunduğu ve gerçek bir giriş yöntemiyle gelen yapının aynısıdır.

Open WebUI ile TLS arkasında bir sohbet arayüzü ekleme

Open WebUI, self-hosted bir sohbet arayüzüdür. Bunu Docker üzerinde çalıştırın ve yerel Ollama servisine yönlendirin:

docker run -d \
  --name open-webui \
  --network=host \
  -e OLLAMA_BASE_URL=http://127.0.0.1:11434 \
  -v open-webui:/app/backend/data \
  --restart always \
  ghcr.io/open-webui/open-webui:main

--network=host bayrağı, Linux VPS üzerinde kritik bir detaydır. Bu bayrak, container'ı ana makinenin ağ ad alanına (network namespace) yerleştirir; böylece container içindeki 127.0.0.1, ana makinenin kendi loopback arayüzü olur ve container, Ollama'ya başka bir arayüzde dinleme yapmasına gerek kalmadan 127.0.0.1:11434 üzerinden erişir. Başka kaynaklarda göreceğiniz --add-host=host.docker.internal:host-gateway ve OLLAMA_BASE_URL=http://host.docker.internal:11434 içeren bridge-network yöntemi burada çalışmaz: bu isim Docker bridge ağ geçidini çözümler ve ana makinede 127.0.0.1 üzerinde dinleyen bir servis, bridge üzerinden erişilebilir değildir; bu nedenle Open WebUI, Ollama'ya bağlanamadığını belirten bir hata verir.

Host ağ modunun dezavantajı, Open WebUI'nin artık ana makinenin 8080 portunu tüm arayüzlerde dinlemesidir; herhangi bir -p eşleştirmesi göz ardı edilir ve Docker bu konuda bir uyarı verir. Bu nedenle 8080 portunu hem ana makine hem de servis sağlayıcı güvenlik duvarında kapatın ve TLS reverse proxy'nin tek genel giriş kapısı olmasını sağlayın. İlk ziyarette Open WebUI sizden bir yönetici hesabı oluşturmanızı ister; bu hesap sizin kimlik doğrulama katmanınızdır, bu yüzden güçlü bir parola seçin.

Sohbet arayüzünü dizüstü bilgisayarınızdan HTTPS üzerinden açmak için 127.0.0.1:8080 önüne bir TLS reverse proxy yerleştirin. Eğer sunucuda halihazırda birden fazla Docker uygulaması yönlendiriyorsanız, birçok uygulama için otomatik TLS ile Traefik en temiz çözümdür: tek bir etiket bloğu sertifikayı düzenler ve chat.example.com trafiğini Open WebUI'ye yönlendirir. Bu uygulama başına etiketleme yöntemi, sunucudaki diğer tüm tarayıcı arayüzlerinin kullanacağı yöntemdir; ister bir durum paneli olsun, ister Jellyfin kütüphanesini 90'ların video kiralama dükkanı gibi sunan Halcyon olsun, her biri kendi alan adıyla ve kendi giriş ekranıyla çalışır. Güvenlik bölümündeki kural geçerliliğini korur: proxy genel portun ve giriş işlemlerinin sahibidir, Ollama localhost üzerinde kalır ve Open WebUI'nin kendi 8080 portu güvenlik duvarı ile korunur.

Kodunuzdan OpenAI uyumlu uç noktayı kullanma

Ollama, /v1 adresinde OpenAI sohbet API'sinin bir alt kümesini destekler; bu nedenle çoğu OpenAI istemci kütüphanesi, temel URL ve geçici bir anahtar olmak üzere iki değişiklik yapıldıktan sonra çalışır.

from openai import OpenAI

client = OpenAI(base_url="http://127.0.0.1:11434/v1", api_key="ollama")

resp = client.chat.completions.create(
    model="llama3.2:3b",
    messages=[{"role": "user", "content": "Name three Linux distributions."}],
)
print(resp.choices[0].message.content)

api_key istemci kütüphanesi tarafından zorunlu tutulur ancak Ollama tarafından göz ardı edilir, bu yüzden herhangi bir karakter dizisi kullanılabilir. model, daha önce çekmiş olduğunuz bir modelin adı olmalıdır; bilinmeyen bir ad, model 'x' not found hatasıyla birlikte 404 döndürür. Standart bir curl çağrısı için de mantık aynıdır:

curl http://127.0.0.1:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"llama3.2:3b","messages":[{"role":"user","content":"Hello"}]}'

Modeli ajan ve düzenleyici araçlarına bağlama yöntemi de budur. Eğer halihazırda sunucu üzerinde geliştirme yapıyorsanız, yerel bir model, tmux içinde VPS üzerinde çalışan Claude Code ile birlikte betikleri ve eklentileri destekleyebilir. Böylece ağır mantıksal işlemler barındırılan bir modelde kalırken, düşük maliyetli ve gizli taslak çalışmaları ücretli bir API'ye ihtiyaç duymadan gerçekleştirilebilir.

Hata modları ve karşılaşacağınız tam ifadeler

İşlem, oluşturma sırasında "Killed" (öldürüldü) durumuna düşüyor. Büyük bir model başlattığınızda terminal Killed çıktısını verir veya sunucu günlüğü (journalctl -u ollama) llama-server process has terminated ile başlayan bir satır gösterir. Bu ifade, 21 Ekim 2026 tarihinde kontrol edilen Ollama 0.40.7 sürümündeki ifadedir; daha eski sürümlerde llama runner process has terminated: signal: killed ifadesi yer alıyordu. Linux OOM killer, modelin fiziksel RAM kapasitesinden daha fazlasına ihtiyaç duyması nedeniyle işlemi durdurmuştur. Nedeni doğrulamak için sudo dmesg | grep -i oom komutunu kullanın; burada Out of memory: Killed process ... benzeri bir satır göreceksiniz. Çözüm, daha küçük veya daha yoğun kuantize edilmiş bir model kullanmak, 13B yerine llama3.2:3b tercih etmek veya fiziksel RAM'i aşan yükün çökmesi yerine yavaş da olsa çalışabilmesi için swap alanı eklemektir. Swap, ani bir çökmeyi yavaş bir yanıta dönüştürür; 4 GB RAM üzerinde 70B bir modeli pratik hale getirmez. Terminali izlemediğiniz sürece bu sonlandırma sessizce gerçekleşir; bu nedenle başka bir yerden sorguladığınız bir sunucuda, kendi barındırdığınız ntfy sunucusuna bildirim gönderen bir OnFailure= birimini ollama.service ile ilişkilendirmek, bir sonraki istekte durumu fark etmeyi beklemek yerine işlemin durduğu anı size bildirir.

Ollama modeli yüklemeyi reddediyor. İstek çökmek yerine doğrudan bir hata ile başarısız oluyor ve sunucu günlüğü model is too large for system memory (21 Ekim 2026 tarihinde kontrol edilen Ollama 0.40.7) kaydını tutuyor. Daha eski sürümler komut satırında doğrudan Error: model requires more system memory (X GiB) than is available (Y GiB) çıktısını veriyordu. Bu, yukarıdaki çökmenin daha nazik bir versiyonudur: Ollama hesaplamayı yapmış ve OOM killer'ın devreye girmesine izin vermek yerine işlemi durdurmuştur. Boş RAM miktarınızın altında gereksinimi olan bir model seçin (free -h ile kontrol edin), bağlam uzunluğunu (context length) kısaltın veya daha büyük bir VPS'e geçin. Hiçbir bayrak (flag) modelin sığmasını sağlamaz, bellek miktarı gerçektir.

İlk token çok uzun sürüyor, sonrası normal. Soğuk bir model beş ila otuz saniye boyunca hiçbir şey yazdırmaz, ardından akış normal şekilde devam eder. Bu duraksama, ağırlıkların ilk kez diskten RAM'e yüklenmesidir ve yavaş depolama birimleri bunu daha da kötüleştirir. Yüklendikten sonra model, OLLAMA_KEEP_ALIVE süresi boyunca bellekte kalır, böylece ikinci istem anında yanıtlanır. Eğer bu ilk yükleme, çağrı yolundaki bir zaman aşımı süresini aşarsa yavaş bir yanıt yerine hata alırsınız ve hangi katmanın context deadline exceeded hatası verdiğini bulmak, sorunun istemciden, proxy'den mi yoksa yükün kendisinden mi kaynaklandığını anlamanızı sağlar. Duraksamalar sizi rahatsız ediyorsa bu değeri artırın ve bir modelin o an yüklü olup olmadığını görmek için ollama ps komutunu kullanın.

Her şey genel olarak yavaş. Hata olmaksızın saniyede on veya daha az token üretiliyor. Bu, CPU çıkarımının (inference) doğası gereği yaptığı işlemdir. ollama ps komutu 100% CPU çıktısını veriyorsa GPU yok demektir. Bu bir hata değildir ve hiçbir ayar CPU'yu GPU'ya dönüştüremez, çünkü temel kısıt bellek bant genişliğidir. Yine de bir VM üzerinde test etmeye değer bir ayar vardır: Ollama, iş parçacığı (thread) sayısını algıladığı fiziksel çekirdeklerden seçer ve bir hipervizör bunları yanlış raporlayabilir. Bir ollama run --verbose oturumunda /set parameter num_thread 4 (veya vCPU sayınız) değerini deneyin, aynı istemi tekrar çalıştırın ve en iyi eval rate değerini veren ayarı koruyun. Bunun ötesinde, daha küçük bir model kullanın, hızı kabul edin veya bir GPU örneğine geçin ve herhangi bir şeyin bozuk olduğuna karar vermeden önce gerçek hızınızı --verbose ile ölçün. Bekleme süresi hızdan değil yanıtın uzunluğundan kaynaklanıyorsa, num_predict ile yanıtı sınırlamak, çok konuşmayı seven bir modelin okumayacağınız tokenlar için dakikalar harcamasını engeller.

Başka bir makineden bağlantı reddedildi. Dizüstü bilgisayarınızdan güncel bir curl (21 Ekim 2026 tarihinde kontrol edilen 8.23.0) curl: (7) Failed to connect to <ip>:11434 after <n> ms: Could not connect to server çıktısını verirken, Ubuntu 24.04 ile gelen curl 8.5.0 ise curl: (7) Failed to connect to <ip> port 11434 after <n> ms: Couldn't connect to server çıktısını verir. "Connection refused" ifadesi yalnızca -v bayrağını eklerseniz connect to <ip> port 11434 from ... failed: Connection refused satırında görünür. Bu, tasarlandığı gibi çalışmaktadır: Ollama yalnızca localhost üzerinde dinleme yapar. Bunu, yukarıda belirtilen güvenlik açığına yol açan 0.0.0.0 adresine bağlayarak "düzeltmeyin". Modele VPN üzerinden veya kimlik doğrulamalı bir proxy aracılığıyla erişin.

11434 portunu internete açtınız. Eğer OLLAMA_HOST=0.0.0.0 ayarını yaptıysanız, güvenlik duvarını açtıysanız ve şimdi başlatmadığınız model çekme işlemleri görüyorsanız veya CPU bilinmeyen istemciler tarafından %100 kullanılıyorsa, tespit edilmiş ve kullanılmışsınız demektir. Bu bir uç durum değil, temel güvenlik hatasıdır. Yeniden 127.0.0.1 veya VPN adresine bağlayın, güvenlik duvarında 11434 portunu kapatın ve önüne kimlik doğrulama koyun. Port açıkken o adresten erişilebilen her şeyin yabancılar tarafından sorgulandığını varsayın.

Yedekleme ve yükseltmeler

Kaybedilecek durum bilgisi oldukça azdır. Modeller yeniden indirilebilir olduğundan, yedeklenmeye değer tek şey Open WebUI veri birimi, hesaplar, sohbet geçmişi, ayarlar ve oluşturduğunuz systemd drop-in dosyalarıdır. Birimi geçici bir container kullanarak yedekleyin:

docker run --rm -v open-webui:/data -v "$PWD":/backup alpine \
  tar czf /backup/open-webui.tgz -C /data .

Ollama'yı kurulum betiğini yeniden çalıştırarak yükseltin; Open WebUI'ı ise docker pull ghcr.io/open-webui/open-webui:main komutunu çalıştırıp ardından container'ı yeniden oluşturarak yükseltin. 0.40 serisi için bir disk notu: Ollama 0.40.2, önceki sürümlerle çekilen modelleri arka planda yükseltmeye başladı ve orijinal kopyaları yedek olarak tuttu; bu nedenle silinene kadar fazladan disk alanı kaplarlar. 0.40.3 (11 Ekim 2026) sürümü ise bu arka plan yükseltmesini durdurdu. Yükseltme sonrasında df -h komutunu kontrol edin ve bu yedekleri silen komut için sürüm notlarını okuyun. Uzun vadeli hiçbir şeyi sabitlemeyin: hem model kalitesi hem de çalışma zamanı hızla değişmektedir, bu nedenle sürüm notlarını okuyun ve geçen çeyreğin rakamlarına güvenmek yerine kendi sunucunuzda yeniden kıyaslama yapın.

FAQ

Sadece CPU içeren bir VPS üzerinde gerçekten LLM çalıştırabilir miyim?

Evet, belirli sınırlar dahilinde. 3B ile 8B aralığındaki küçük kuantize edilmiş modeller CPU üzerinde çalışabilir ve taslak oluşturma, özetleme ve sınıflandırma işlemleri için oldukça kullanışlıdır; ancak paylaşımlı bir vCPU üzerinde saniyede tek haneli veya düşük çift haneli token hızlarıyla yavaş çalışırlar. 13B ve üzerindeki modeller ya aşırı yavaştır ya da RAM kapasitesine sığmazlar. Gerçek hız veya daha büyük modeller için bir GPU örneğine ihtiyacınız vardır.

Her model ne kadar RAM gerektirir?

En popüler modellerin varsayılan olarak kullandığı 4-bit (Q4) etiketleri için kaba bir hesaplama şöyledir: ağırlıklar için milyar parametre başına yaklaşık 0.5 GB RAM, artı yaklaşık 1 GB ek yük ve bağlam (context) için biraz daha fazlası. Bu durumda 3B bir model yaklaşık 4 GB boş alan, 7-8B bir model yaklaşık 8 GB ve 14B bir model yaklaşık 16 GB RAM gerektirir. free -h ile boş alanınızı kontrol edin ve işletim sistemi ile sunucudaki diğer işlemler için yeterli pay bıraktığınızdan emin olun.

Ollama API kimlik doğrulamalı mı?

Hayır. Ollama'nın yerleşik bir kimlik doğrulama, API anahtarı veya hız sınırlama özelliği yoktur; 11434 numaralı porta erişebilen herkes üzerinde tam kontrole sahiptir. OLLAMA_ORIGINS ayarı yalnızca hangi tarayıcı kaynaklarının çağrı yapabileceğini sınırlar, kimin bağlanabileceğini değil. İşte bu yüzden varsayılan olarak 127.0.0.1 adresine bağlanır ve 11434 numaralı portu asla 0.0.0.0 üzerinden internete açmamalısınız. Portu yerel olarak, özel bir VPN üzerinden veya giriş koruması ekleyen bir reverse proxy aracılığıyla kullanın.

Nasıl web tabanlı bir sohbet arayüzü ekleyebilirim?

Open WebUI'yi --network=host ile Docker üzerinde çalıştırarak ana makinenin loopback arayüzünü paylaşmasını ve yerel Ollama'ya http://127.0.0.1:11434 üzerinden ulaşmasını sağlayın. Ardından, dizüstü bilgisayarınızdan erişim için 8080 portunun önüne bir TLS reverse proxy yerleştirin. Güvenlik duvarında 8080 portunu kapalı tutun; böylece tek genel giriş noktası proxy olur. Open WebUI'nin kendi yönetici hesabı giriş imkanı sağlar ve şifresini ilk başlatmada belirlersiniz.

Kendi uygulamamdan nasıl çağrı yapabilirim?

http://127.0.0.1:11434/v1 adresindeki OpenAI uyumlu uç noktayı kullanın. Herhangi bir OpenAI SDK'sını bu temel URL'ye yönlendirin, API anahtarı yoksayıldığı için herhangi bir karakter dizisini anahtar olarak girin ve model değerini indirdiğiniz bir modelin adına ayarlayın. Mevcut OpenAI kodları, temel URL ve anahtar değişikliği dışında genellikle hiçbir değişiklik yapılmadan çalışır.