giriiş
Bu eğitimde, açık kaynaklı bir LLMOps platformu olan Dify'ı bir Linux sunucusuna (Ubuntu, Debian veya CentOS) yükleme sürecini adım adım anlatacağım. Ayrıca, Restic ve S3 uyumlu nesne depolama (örneğin Cloudflare R2) kullanarak otomatik yedeklemeler ayarlayacağım. Bu eğitimin sonunda, sunucunuzda düzenli yedeklemelerle çalışan, tamamen işlevsel bir Dify örneğiniz olacak.
Dify, yapay zeka uygulamaları oluşturmanıza, dağıtmanıza ve yönetmenize olanak tanıyan güçlü bir araçtır. Platform, kapsamlı kodlama bilgisine ihtiyaç duymadan yapay zeka uygulamaları oluşturmak için basit bir kullanıcı arayüzü sunar ve çeşitli yapay zeka modelleri ve hizmetlerini entegre eder.
Bu kurulum size yapay zeka uygulamalarını geliştirmek ve çalıştırmak için sağlam bir ortam sağlar.
Ön koşullar
Başlamadan önce aşağıdakilere ihtiyacınız olacak:
- Bir Linux sunucusu (Ubuntu, Debian veya CentOS) ve sudo izinlerine sahip bir kullanıcıya erişim.
- Sunucunuzun IP adresini gösteren bir alan adı.
- Alan adınız için bir SSL sertifikası (örneğin Cloudflare aracılığıyla).
Cloudflare ile SSL sertifikası oluşturmak için öncelikle üye olun ve:
- Bir alan adı satın alın veya mevcut alan adınızı Cloudflare isim sunucularına yönlendirin.
- Alan adınızı seçip SSL/TLS » Origin Server » Create Certificate'e giderek SSL sertifikasını oluşturun.
Cloudflare SSL Sertifikası
Örnek işletim sistemi olarak Ubuntu'yu kullanacağız ancak adımlar Debian ve CentOS için de benzer olacaktır.
Adım 1 – Sunucuyu Hazırlama
Öncelikle sistemi güncelleyeceğiz, Docker ve Docker Compose'u yükleyeceğiz ve Git'i kuracağız. Tüm bunları şu komut yapacak:
sudo apt update -y && \
sudo apt upgrade -y && \
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg && \
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null && \
sudo apt-get update -y && \
sudo apt-get install -y docker-ce && \
sudo usermod -aG docker $USER && \
sudo curl -L https://github.com/docker/compose/releases/download/v2.26.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose && \
sudo chmod +x /usr/local/bin/docker-compose && \
sudo apt install git -yBu komut aşağıdaki eylemleri gerçekleştirir:
- Sistem paket listesini günceller ve yüklü paketleri günceller.
- Gerekli bağımlılıkları yükler.
- GPG anahtarını ve resmi Docker deposunu ekler.
- Docker ve Docker Compose'u yükler.
- Kullanıcınızı Docker grubuna ekler.
- Git'i kurar.
Kontrol etmek için aşağıdaki komutu çalıştırabilirsiniz:
docker --version && docker compose version && git version
Grupların güncellenebilmesi için oturumunuzu kapatıp tekrar açmanız gerekebilir.
Adım 2 – Dify deposunu klonlayın
Şimdi Dify deposunu klonluyoruz:
cd ~ && git clone https://github.com/langgenius/dify.git
Bu komut Dify kaynak kodunu sunucunuza indirecektir.
Adım 3 – Dify'ı Yapılandırın
Daha sonra yapılandırma dosyasını ayarlıyoruz:
cd ~/dify/docker
cp .env.example .env
nano .env
Bu komutlar:
- Dify Docker dizinine yönlendirir.
- Örnek ortam dosyasının bir kopyasını oluşturun.
- Nano metin düzenleyicisinde yeni .env dosyasını açın.
.env dosyasında ihtiyaçlarınıza göre aşağıdaki değişkenleri ayarlayın:
- Alan değişkenlerini güncelleme:
APP_WEB_URL=your_domain_name
NGINX_HTTPS_ENABLED=true- Sertifika değişkenlerini güncelle:
- Kendi sertifikanızı kullanıyorsanız varsayılan değerleri koruyup bir sonraki adımda ilgili anahtar dosyalarını ekleyebilirsiniz.
- Cloudflare sertifikası kullanıyorsanız sertifika değişkenlerinin değerlerini aşağıdaki gibi güncelleyin:
- Sertifika değişkenlerini güncelle:
NGINX_SSL_CERT_FILENAME=cert.pem
NGINX_SSL_CERT_KEY_FILENAME=key.pem- Diğer değişkenleri güncelleyin:
Ayrıca .env dosyasındaki diğer değişkenleri de kontrol edin ve ihtiyaçlarınıza göre ayarlayın.
Değişiklikleri yaptıktan sonra dosyayı kaydetmek için Ctrl+S'ye, nano düzenleyiciden çıkmak için Ctrl+X'e basın.
Adım 4 – SSL sertifikalarını ayarlayın
Şimdi SSL sertifikasını ekleyeceğiz.
Kendi sertifikanızı kullanıyorsanız, bunu dify.crt ve dify.key dosyalarına ekleyebilirsiniz.
Cloudflare sertifikası kullanıyorsanız, bunu cert.pem ve key.pem dosyalarına eklemeniz gerekir.
Kişisel sertifika
İki yeni dosya oluşturun:
nano ~/dify/docker/nginx/ssl/dify.crt
nano ~/dify/docker/nginx/ssl/dify.keySertifikanızı ve anahtarınızı bu dosyalara kopyalayıp yapıştırın. Ardından kaydedip düzenleyiciden çıkın (Ctrl+S, Ctrl+X).
Cloudflare Sertifikası
Cloudflare sertifikasını şu şekilde ekleyin:
nano ~/dify/docker/nginx/ssl/cert.pem
nano ~/dify/docker/nginx/ssl/key.pemCloudflare sertifikasının içeriğini bu dosyalara kopyalayın. Ardından kaydedip düzenleyiciden çıkın (Ctrl+S, Ctrl+X).
Adım 5 – Dify'ı Dağıtın
Artık Dify'ı dağıtmaya hazırız:
cd ~/dify/docker docker
compose up -dBu komut, Dify'ın ihtiyaç duyduğu tüm kapsayıcıları başlatır. -d seçeneği, kapsayıcıları bağımsız modda (arka planda) çalıştırır.
Bir dakika kadar sonra, tarayıcınızda alan adınızı ziyaret ederek Dify örneğinizi görebilmelisiniz.
Konteynerlerin durumunu kontrol etmek için aşağıdaki komutu çalıştırabilirsiniz:
docker ps -aAdım 6 – Otomatik yedeklemeleri ayarlayın
Dify'ı dağıttıktan sonra, Restic ve S3 uyumlu nesne depolama (örneğin Cloudflare R2) kullanarak otomatik yedeklemeler ayarlayalım. Öncelikle kök kullanıcıya geçmemiz gerekiyor:
sudo su
cd ~Adım 6.1 – Restic'i Yükleme
Yukarıdaki komutlar bizi kök dizine götürecek. Şimdi Restic'i kuralım:
sudo apt update
sudo apt install resticAdım 6.2 – S3 uyumlu kovayı hazırlayın
Kovanızı henüz oluşturmadıysanız, sağlayıcınızdan yeni bir kova veya Cloudflare hesabınızda bir R2 kovası oluşturun. Aşağıdaki bilgilere dikkat edin:
- Kova adı
- Kimlik erişim anahtarı
- Gizli erişim anahtarı
- Uç Nokta URL'si
Adım 6.3 – Bir yedekleme betiği oluşturun
Yeni bir dizin oluşturuyoruz ve yedekleme betiğini ayarlıyoruz:
mkdir -p /root/restic
nano /root/restic/backup.shAşağıdaki içeriği kopyalayıp dosyaya yapıştırın:
#!/bin/bash
# Set environment variables for Restic
export RESTIC_REPOSITORY="s3:YOUR_S3_ENDPOINT_URL/YOUR_BUCKET_NAME"
export AWS_ACCESS_KEY_ID="YOUR_ACCESS_KEY_ID"
export AWS_SECRET_ACCESS_KEY="YOUR_SECRET_ACCESS_KEY"
export RESTIC_PASSWORD_FILE="/etc/restic-password"
# Set the backup source
# Replace "YOUR_USER" with the user that installed Dify
BACKUP_SOURCE="/home/YOUR_USER/dify/docker/volumes"
# Perform the backup
restic backup $BACKUP_SOURCE
# Prune old snapshots (keep last 7 daily, last 4 weekly, and last 12 monthly backups)
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 12 --prune
# Check the repository for errors
restic checkBaşlangıç değerlerini S3 kovanızdaki gerçek bilgilerle değiştirin ve "YOUR_USER" ifadesini Dify'ı yükleyen kullanıcıyla değiştirin. Ardından dosyayı kaydedin ve düzenleyiciden çıkın (Ctrl+S, Ctrl+X).
Adım 6.4 – Restic deposunun kurulumu
Ortam değişkenlerini ayarlayıp deponun başlatılmasını sağlıyoruz:
export RESTIC_REPOSITORY="s3:YOUR_S3_ENDPOINT_URL/YOUR_BUCKET_NAME"
export AWS_ACCESS_KEY_ID="YOUR_ACCESS_KEY_ID"
export AWS_SECRET_ACCESS_KEY="YOUR_SECRET_ACCESS_KEY"
restic initŞifreyi cronjob için yeni bir dosyada saklıyoruz:
echo "YOUR_PASSWORD" > /etc/restic-password
chmod 600 /etc/restic-passwordAdım 6.5 – Günlük yedeklemeleri ayarlayın
Cron dosyasını açın ve dosyanın sonuna aşağıdaki satırı ekleyin:
crontab -e 0 3 * * * /root/restic/backup.sh > /root/restic/backup.log 2>&1Bu komut günlük yedeklemeyi sabah 3'te ayarlar. Dosyayı kaydedin ve düzenleyiciden çıkın.
Adım 7 – Ayarları kontrol edin
Ayarların doğru olduğundan emin olmak için:
- Yedekleme betiğini manuel olarak çalıştırın:
/root/restic/yedekleme.sh- Fotoğraflara göz atmak için Restic deposunu ziyaret edin:
restic anlık görüntüleriAdım 8 – Gelecekteki Dify Güncellemeleri
Dify'ı gelecekte güncellemek için şu komutları çalıştırın:
cd ~/dify/docker
docker compose down
git pull origin main
docker compose pull
docker compose up -dBu komutlar mevcut kapsayıcıları durdurur, yeni değişiklikleri yükler, güncellenmiş görüntüleri indirir ve yeni kapsayıcıları başlatır.
Sonuç
Tebrikler! Dify'ı Linux sunucunuza başarıyla yüklediniz, SSL sertifikalarını ayarladınız ve otomatik yedeklemeleri yapılandırdınız. Artık Dify örneğiniz kullanıma hazır ve günlük yedeklemeler verilerinizin güvenliğini sağlar.










