Linux'a Dify'ı otomatik yedeklemelerle yükleyin

0 Hisse senetleri
0
0
0
0

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 -y

Bu 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:
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.key

    Sertifikanı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.pem

    Cloudflare 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 -d

    Bu 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 -a

    Adı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 restic

    Adı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.sh

    Aş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 check

    Baş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-password

    Adı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>&1

    Bu 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üleri

    Adı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 -d

    Bu 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.

    Bir yanıt yazın

    E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

    Ayrıca Şunları da Beğenebilirsiniz