SSD Nodes Learn
Rehberler Matt ConnorYazan Matt Connor · Güncellendi 2026-07-24

Dify VPS üzerine Docker Compose ile kurulum

Dify kurulumu için en az 4 GB RAM gereklidir. Docker Compose ile kurulum yaparken .env dosyasındaki gizli bilgileri güncellemeyi unutmayın.

Dify nedir ve çalıştırmak için neyi kabul ediyorsunuz

Dify, büyük dil modelleri üzerine uygulamalar inşa etmek için kullanılabilen, kendi sunucunuzda barındırabileceğiniz bir platformdur. Sohbet uygulamaları, ajanlar ve veri geri çağırma (retrieval) hatları tasarlamak için bir web arayüzü, bunları kendi kodunuzdan çağırmak için bir API ve istemleri (prompts), veri setlerini ve model anahtarlarını yönetmek için tek bir merkez sunar. Bu araç, küçük bir ekibin API anahtarlarını scriptler arasında dağıtmak yerine, herkesin ortak ve özel bir temel üzerinde uygulama geliştirmesi için kurulur.

Dify'ı kendiniz çalıştırmak, birkaç farklı bileşenin çalıştırılması anlamına gelir. Dify, Docker Compose ile birbirine bağlanmış bir Docker konteyner seti olarak sunulur: bir API sunucusu, bir arka plan işleyicisi (worker), bir web arayüzü, bir Postgres veritabanı, bir Redis önbelleği ve bir vektör veritabanı. Bu, tek bir binary dosyasından daha karmaşıktır; ancak Compose bağlantıları yönetir ve birkaç gigabayt boş RAM'i olan bir VPS üzerinde rahatlıkla çalışır.

Dify, model API anahtarlarınızı ve genellikle geri çağırma için yüklediğiniz özel belgelerinizi barındırdığı için, üzerinde çalıştığı sunucuyu ilk dakikadan itibaren hassas bir sistem olarak ele alın. Bu kılavuz, yazılımın kurulumunu yapar ve ardından gizli veriler barındıran herhangi bir servisi nasıl sıkılaştırırsanız öyle sıkılaştıracağınızı gösterir.

Prerequisites

Docker ve Docker Compose eklentisi yüklü, Ubuntu 24.04 çalıştıran bir VPS'e ve sudo yetkisine veya docker grubuna üye bir kullanıcıya ihtiyacınız vardır. Docker sizin için yeniyse, bir VPS üzerindeki Docker Compose temelleri bu kılavuzun varsaydığı kurulumu ve temel komutları kapsar. Sunucuya yönlendirilmiş bir alan adı (domain) sahibi olmanız faydalıdır, çünkü çıplak bir IP adresi yerine Dify'ın önünde TLS kullanmak isteyeceksiniz.

Step 1: Get Dify and its Compose files

Dify, Docker kurulumunu ana depoda tutar. Depoyu klonlayın ve docker dizinine geçin:

git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env

.env dosyası tüm yapılandırmayı içerir. Herhangi bir işleme başlamadan önce bu dosyayı okuyun. İlk olarak önemli olan değerler, parolaları ve gizli verileri belirleyenlerdir: SECRET_KEY, Postgres parolası ve Redis parolası. Örnek dosya yer tutucu (placeholder) değerlerle gelir; bunları olduğu gibi bırakmak, kendi sunucusunda Dify çalıştıranların en sık karşılaştığı güvenlik ihlali sebebidir. Gerçek bir gizli anahtar oluşturun:

openssl rand -base64 42

Bu anahtarı SECRET_KEY dosyasına yapıştırın ve dosyadaki her bir parola alanı için güçlü ve benzersiz bir değer belirleyin.

Step 2: Start it

Stack'i başlatın:

docker compose up -d

İlk çalıştırma birkaç imaj çeker ve veritabanını ilklendirir, bu yüzden bir dakika bekleyin. Konteynerlerin sağlıklı (healthy) olduğunu kontrol edin:

docker compose ps

Her servis running değerini okumalıdır. Dify, web arayüzünü varsayılan olarak 80 portunda paketlenmiş bir nginx konteyneri aracılığıyla sunar. http://YOUR_SERVER/install adresine ilk ziyaretinizde admin hesabını oluşturursunuz. Portlara başka hiçbir şey erişmeden önce bunu hemen yapın; çünkü bu hesap oluşturulana kadar sayfayı yükleyen herkes hesabı ele geçirebilir ve sistemin sahibi olabilir.

Step 3: Do not expose it raw. Put TLS and a firewall in front

Hatalı kurulumların durduğu ve çoğu olayın başladığı nokta burasıdır. Dify'ın kendi nginx servisi, her arayüzde 80 portunda şifresiz (in the clear) dinleme yapar. Admin giriş bilgilerinizin ve model anahtarlarınızın düz HTTP üzerinden taşınmasını istemezsiniz; ayrıca dahili servislerin dışarıdan erişilebilir olmasını da istemezsiniz.

Sunucuyu, yalnızca SSH ve web trafiğine izin veren, varsayılan olarak her şeyi engelleyen (default-deny) bir firewall ile koruyun:

sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

Yalnızca IPv4'ü kapsayan bir firewall'un IPv6 üzerinde aynı portları açık bırakabileceğini unutmayın; bu, birçok kullanıcıyı yakalayan IPv6 firewall boşluğu durumuna yol açar. Her iki stack'in de filtrelendiğini onaylayın.

TLS için en temiz yol, Dify'ın web portunu loopback adresine bağlamak ve önüne Let's Encrypt sertifikası olan bir reverse proxy çalıştırmaktır; böylece internette görünen tek şey HTTPS konuşan proxy olacaktır. Dify'ın .env ayarı, dışarı açılan portu değiştirmenize olanak tanır; bunu 127.0.0.1 adresine bağlanacak şekilde ayarlayın ve proxynizi bu adrese yönlendirin. bir VPS üzerinde güvenli bir AI ajanı çalıştırmak içeriğindeki ajan sıkılaştırma fikiraları burada da geçerlidir: hareketli bileşenleri loopback üzerinde tutun, yalnızca halka açık olması gerekenleri dışarı açın ve tek bir sıkılaştırılmış kapının TLS konuşmasına izin verin.

Step 4: Keep it patched

Dify hızlı gelişmektedir ve güncellemeler güvenlik düzeltmeleri içerir. Güncelleme işlemi, docker dizininden bir çekme (pull) ve yeniden başlatma işlemidir:

git pull
docker compose pull
docker compose up -d

Büyük bir versiyon geçişinden önce sürüm notlarını okuyun; çünkü Dify bazen sürümler arasında .env şemasını değiştirir ve ayarlamadığınız yeni bir değişken bir konteynerin başlamasını engelleyebilir.

Step 5: Back up what you cannot regenerate

Bir Dify sunucusunda iki şey değiştirilemez: uygulamalarınızı, kullanıcılarınızı ve ayarlarınızı tutan Postgres veritabanı ile yüklenen belgeleri ve vektör indeksini saklayan volume. Her ikisi de docker dizini altındaki Docker volume'ları içinde yer alır. Bunların anlık görüntüsünü (snapshot) belirli aralıklarla alın ve snapshot'ları sunucudan başka bir yere kopyalayın. Bir model API anahtarı yeniden oluşturulabilir; ancak bir hafta boyunca inşa ettiğiniz uygulama oluşturulamaz.

Daha otonom, kod çalıştıran bir ajan için Agent Zero self-hosting konusuna bakın; bir VPS üzerinde kendi AI ajanınızı oluşturmak ise tüm bunların altındaki temelleri kapsar.

FAQ

Dify'ı kendi sunucumda çalıştırmak için sistem gereksinimleri nelerdir?

Dify, yaklaşık yarım düzine konteynerden oluşan bir Docker Compose stack'i olarak çalışır; bu nedenle en az 2 GB boş RAM'i olan (ideal olarak 4 GB), birkaç CPU çekirdeği ve yüklenen belgeleriniz ile vektör indeksiniz için yeterli disk alanına sahip bir VPS planlayın. Bellek yükü Dify'ın kendisinden değil, veritabanı ve vektör deposundan kaynaklanır.

Dify'ı doğrudan 80 portundan dışarı açmak güvenli midir?

Hayır. Dify'ın yerleşik web sunucusu düz HTTP üzerinden dinleme yapar ve admin giriş bilgileriniz ile model API anahtarlarınızın önündedir. Önüne Let's Encrypt sertifikalı bir reverse proxy koyun, Dify'ın kendi portunu loopback adresine bağlayın ve internete yalnızca HTTPS konuşan proxy'nin bakmasına izin verin. Bunu, hem IPv4 hem de IPv6'yı kapsayan bir default-deny firewall ile eşleştirin.

Kendi sunucumdaki Dify'ı nasıl güncellerim?

docker dizininden git pull komutunu, ardından yeni imajları çekmek ve yeniden başlatmak için docker compose pull ve docker compose up -d komutlarını çalıştırın. Önce sürüm notlarını okuyun, çünkü Dify bazen sürümler arasında yeni .env değişkenleri ekler ve eksik bir değişken bir konteynerin ayağa kalkmasını engelleyebilir.

Dify kurulumundan sonra yapılması gereken ilk şey nedir?

/install adresini ziyaret edin ve hemen admin hesabını oluşturun. Bu hesap oluşturulana kadar, sayfaya erişebilen herkes hesabı ele geçirebilir. Konteynerler sağlıklı hale geldiği anda ve firewall'u dünyaya açmadan önce kurulumu tamamlayın.