~/ / Yapay zeka makaleleri / VPS'te yerel LLM / Dify'ı kendi VPS'inizdeki Ollama'ya bağlayın
Dify'ı kendi VPS'inizdeki Ollama'ya bağlayın
Dify, kendi sunucunuzda çalıştırabileceğiniz, yapay zekâ uygulamaları geliştirmeye yarayan bir platformdur. Modeli ise Ollama çalıştırır. Bu makale ikisini tek bir VPS üzerinde birbirine bağlar: sunucunun ne kadar büyük olması gerektiği, Dify'ın nasıl başlatılacağı, Ollama eklentisinin hangi alanları istediği ve bir dizüstü bilgisayarda çalışan adresin Docker içinde neden başarısız olabileceği. Belgelerin nerede bittiğini de söyler; böylece hangi bölümleri kendiniz denemeniz gerektiğini bilirsiniz.
Yayın: · 5 dk okuma · Bilgiler 2026-10-27 tarihinde resmî belgeler ve depolarla karşılaştırılarak kontrol edildi. Dify hızlı değişir; kuracağınız sürümün sürüm notlarını okuyun.
Başlamadan önce neye ihtiyacınız var
Dify kendi kendine barındırma rehberi, Dify'ın kendisi için gereken asgari değerleri listeler. Model ise bunun üstüne kendi belleğini ister; bu yüzden iki sayının toplanması gerekir. Aşağıdaki tahmin aracı model için bir değer verir. Bunu Dify'ın asgari değerine eklemek bizim pratik kuralımızdır, Dify belgelerinde yer alan bir ifade değildir.
| Öğe | Dify rehberi ne diyor |
|---|---|
| CPU | CPU >= 2 Core |
| Bellek | RAM >= 4 GiB |
| Docker Compose | Dify, Docker Compose 2.24.0 veya daha yenisini gerektirir. |
| Git, curl, jq | Aşağıdaki klonlama komutu git, curl ve jq kullanır. |
Deneyin: Local LLM Memory Estimator
Tahmin
- Model ağırlıkları
- 4.84 GiB
- KV önbelleği
- 0.56 GiB
- Ayrılan pay
- 1.00 GiB
- Toplam
- 6.41 GiB (6.88 GB)
- Toplamı karşılayan en küçük yaygın bellek boyutu
- 8 GiB
Bu bir tahmindir. Çalışma zamanının hesaplama arabelleklerini içermez ve her katmanın aynı KV yapısına sahip olduğunu varsayar. Bir plan seçmeden önce gerçek bir çalıştırmayı ölçün.
Model verileri 2026-10-26 tarihinde kontrol edildi.
Kaynaklar: Ollama library · Model yapılandırması (config.json) · Ollama FAQ
Her şey tarayıcınızda çalışır. Hiçbir şey yüklenmez.
1. adım: Dify'ı Docker Compose ile başlatın
Bunlar Dify kendi kendine barındırma rehberindeki komutlardır. İlki GitHub'dan en son sürüm etiketini indirir; böylece bitmemiş bir branch'ten değil, bir sürümden başlarsınız. Kontrol ettiğimiz sırada en son sürüm 1.18.0'dı (2026-10-23 tarihinde yayımlanmıştı).
| Adım | Komut |
|---|---|
| En son sürümü klonlayın | git clone --branch "$(curl -s https://api.github.com/repos/langgenius/dify/releases/latest | jq -r .tag_name)" https://github.com/langgenius/dify.git |
| Docker klasörüne gidin | cd dify/docker |
| Ayar dosyasını kopyalayın | cp .env.example .env |
| Agent arka ucu için bir token oluşturun | openssl rand -base64 32 |
| Dify'ı başlatın | docker compose up -d |
Başlatmadan önce openssl'in yazdırdığı token'ı .env dosyasına DIFY_AGENT_LOCAL_SANDBOX_AUTH_TOKEN olarak yazın. Rehber, agent arka ucunun ve sandbox'ının bu token olmadan başlamadığını söyler.
2. adım: yönetici hesabını oluşturun
Konteynerler çalışmaya başladıktan sonra rehber önce yönetici başlatma sayfasını açmanızı söyler: sunucuda http://your_server_ip/install, kendi bilgisayarınızda http://localhost/install. Hesabı orada oluşturun, ardından http://your_server_ip adresinden giriş yapın.
Belgeler, hesap oluşturulmadan önce bu sayfaya kimlerin erişebileceğini söylemez. Bizim önerimiz, belgelerdeki bir ifade değildir: hesabı başlatır başlatmaz oluşturun ve Dify'ı internete açmadan önce bir sunucunun nasıl korunacağını anlatan makaleyi okuyun.
3. adım: Ollama eklentisini ve modeli ekleyin
Güncel Dify belgelerinde model sağlayıcıları Integrations > Model Provider bölümünden veya Marketplace üzerinden kurulur, ardından sağlayıcının kartında Setup'a tıklanır. Menü adları sürümler arasında değişir; bu yüzden kendi sürümünüzde sağlayıcı listesini arayın. Ollama eklentisinin Marketplace sayfası (kontrol ettiğimiz sırada sürüm 1.0.3), Dify'a eklemeden önce Ollama'yı kurmanızı, bir model çalıştırmanızı ve yerel API'sinin çalıştığını doğrulamanızı söyler.
Bunlar eklentinin alanlarıdır; README dosyasından ve Marketplace sayfasından alınmıştır.
| Alan | Ne girilecek |
|---|---|
| Model Name | Ollama modeli, örneğin gemma3, qwen3, deepseek-r1 veya gpt-oss. |
| Base URL | Ollama ana adresi; yerel bir Ollama için http://<your-ollama-host>:11434. /api eklemeyin, çünkü eklenti /api/chat, /api/generate ve /api/embed yollarını kendisi ekler. |
| API Key | Yerel bir Ollama için isteğe bağlıdır. Yalnızca Ollama cloud için gereklidir. |
| Model Type | Sohbet, araç çağırma ve görsel işleme için Chat. Marketplace sayfası ayrıca text embeddings ve rerank türlerini de listeler. |
| Model Context Length | Modelin bağlam penceresiyle eşleşmelidir. |
| Upper bound for max tokens | Dify'ın izin verdiği en büyük max tokens (num_predict) değeri. |
| Vision support / Function call support | Yalnızca bunu destekleyen bir model için Yes seçin. |
| Attach Dify app_id as request headers | Varsayılan olarak kapalıdır. Açıkken Dify, Ollama'ya yaptığı çağrılara X-Dify-App-Id ve X-Dify-Source başlıklarını ekler. Ollama bunları kullanmaz. |
Hangi modellerin görsel işlemeyi ve araç çağırmayı desteklediğini öğrenmek için Ollama kütüphanesindeki modellerin neler yapabildiğini anlatan makaleye bakın.
4. adım: Docker içinden çalışan adres
Dify konteynerlerde çalışır, Ollama ise sunucunun kendisinde. Bir konteynerin içinde localhost, sunucu değil konteynerin kendisidir. Eklentinin README dosyası şunu söyler: Dify konteynerinin ulaşabileceği bir ana makine adresi kullanın; örneğin http://host.docker.internal:11434 veya bir LAN IP adresi.
Docker belgeleri bu adı açıklar. --add-host seçeneği, ana makinenin iç IP adresine çözümlenen host-gateway adlı özel bir değeri destekler ve bu ad için host.docker.internal kullanmak gelenekseldir. Belgeler ayrıca Docker Desktop'ın bu adı otomatik olarak çözümlediğini de söyler. Belgelerdeki örnek --add-host host.docker.internal=host-gateway biçimindedir.
| Neyi kontrol ettik | Sonuç |
|---|---|
| Dify'ın docker-compose.yaml dosyası host.docker.internal tanımlıyor mu? | Hayır. main branch'teki dosyada ne host.docker.internal ne de bir extra_hosts girdisi bulduk. |
| Docker Compose başvuru belgesi extra_hosts'u anlatıyor mu? | Evet; /etc/hosts dosyasına giden HOSTNAME=IP biçiminde ana makine adı eşlemeleri olarak. Okuduğumuz sayfa extra_hosts için host-gateway'den söz etmiyor. |
| Ollama 127.0.0.1 dışındaki adreslerde dinliyor mu? | Varsayılan olarak hayır. Ollama SSS sayfası, 127.0.0.1 üzerinde 11434 numaralı porta bağlandığını ve OLLAMA_HOST ortam değişkeninin bağlanma adresini değiştirdiğini söyler. |
Bizim yorumumuz, belgelerdeki bir ifade değildir: bir Linux sunucuda ana makine adını kendiniz eklersiniz ya da sunucunun adresini kullanırsınız; Ollama'nın dinlediği adresi de değiştirmeniz gerekebilir. Bu birleşimi test etmedik. OLLAMA_HOST'u değiştirirseniz 11434 numaralı porta başka makinelerden ulaşılabilir; Ollama'nın kendi parolası yoktur, bu nedenle güvenlik duvarında bu portu dışarıya kapatın. Ayarlar, Ollama'yı kurmayı ve önüne nginx koymayı anlatan makalelerde açıklanmıştır.
5. adım: embedding'ler ve eklentinin yapmadıkları
Eklentinin Marketplace sayfası; streaming, thinking, görsel işleme, araç çağırma ve text embeddings desteklediğini ve embedding vektörlerinin L2-normalized olduğunu söyler. Embedding'ler için text embeddings türünde ikinci bir model eklersiniz; bu, Ollama kütüphanesinden bir embedding modeli olur.
Sayfa ayrıca nelerin dahil olmadığını da listeler. Ollama'nın yerel bir rerank uç noktası yoktur; bu yüzden bir rerank modeli için OpenAI uyumlu bir rerank hizmeti gerekir. Web araması da pakete dahil değildir. Ayrı bir Dify araç eklentisi veya harici bir iş akışı gerekir.
Bağlantı başarısız olursa
- ollama ps komutunu çalıştırıp modelin yüklü olduğunu kontrol edin ve Ollama'nın yanıt verdiğini görmek için sunucuda http://127.0.0.1:11434 adresini açın.
- Base URL'yi kontrol edin. Bu, port ile birlikte ve /api olmadan yazılan ana adrestir.
- Dify konteynerlerinin adrese ulaşabildiğini kontrol edin. Dify belgeleri, dışarı giden isteklerinin iç ve özel IP aralıklarını engelleyen bir proxy üzerinden yönlendirildiğini söyler. Sayfa HTTP düğümlerini ve görsel indirmelerini sayar; model sağlayıcılarının isteklerinin de aynı yoldan geçip geçmediğini söylemez. Özel bir adres kullanıyorsanız ve reddediliyorsa bakılacak yerlerden biri budur.
- Konteynerlerin günlüklerini docker compose logs ile okuyun. Belgelerde hata iletilerinin bir listesini bulamadık.
Dify'ı güncel tutmak
Rehber, yükseltme adımlarının sürümler arasında değiştiğini söyler; bu yüzden geçeceğiniz sürümün yükseltme rehberini izleyin. Rehber, Dify Releases sayfasında bulunur. Yükseltmeden sonra yeni veya değişen değişkenler için .env.example dosyasını kendi .env dosyanızla karşılaştırın. docker-compose.yaml dosyasını değiştirdiyseniz değişikliklerinizi yeni sürümün dosyasına yeniden uygulayın; çünkü bir sürüm, gerekli olan hizmetler ekleyebilir.
Kaynaklar
- Dify documentation: Deploy with Docker Compose
- Dify documentation: Model providers
- Dify documentation: Environment variables
- Dify official plugins: Ollama plugin README
- Dify Marketplace: Ollama plugin
- Dify repository: docker-compose.yaml
- Docker documentation: docker container run (--add-host)
- Docker documentation: Compose services (extra_hosts)
- Ollama documentation: FAQ
Sırada ne okunmalı
- Pahalı bir bilgisayar olmadan yerel LLM başlatın: VPS kullanımı için yeni başlayanlara rehberGüçlü bir bilgisayarınız yok mu? Bir VPS kiralayın ve küçük bir yerel LLM'yi tarayıcınızdan çalıştırın: bellek tahmininden korumalı sohbet ekranına altı adım, sınırlar dürüstçe belirtilerek.
- Ollama'nın önüne nginx koyun: temel kimlik doğrulama, HTTPS ve akış ayarlarıOllama'ya dışarıdan güvenle erişin: proxy olarak nginx, temel kimlik doğrulama, HTTPS, akış ve zaman aşımı ayarları ile bir güvenlik duvarı kuralı; resmî belgelerden.
- VPS üzerinde Open WebUI: Docker ile çalıştırın ve Ollama'ya bağlayınOpen WebUI'yi Docker ile çalıştırıp kendi sunucunuzda Ollama'ya bağlayın: komutlar, ilk hesap, iki bağlantı türü ve güncelleme.
- Yerel bir modeli kodunuzdan çağırmak: Ollama'da yapılandırılmış çıktılar ve OpenAI uyumlu APIYerel bir modelin çıktısını JSON Schema ile sınırlayın ve Ollama'yı OpenAI tarzı istemcilerden çağırın: resmî belgeler ne diyor ve nelerin desteklenmediği.