見出し画像

Dify バックアップ手順 - お引越しも

Dify バックアップ手順

このマニュアルは、Dify のバックアップを作成する方法について説明します。

事前準備(サーバーに立ててる人限定)

  1. Dify がインストールされているサーバーにログインします。

  2. 私は Azure の仮想環境に入れているので Dify サーバーに SSH 接続しました。ssh -i ****-vm.pem azureuser@00.000.00.0

バックアップ手順

// Docker Compose を停止します。
sudo docker compose down

// cdでhomeに戻ってからバックアップディレクトリを作成。
cd
mkdir backup

// Docker のボリュームをバックアップします。
sudo tar -cvzf ./backup/volumes-$(date +%s).tgz ./dify/docker/volumes

-c: 作成する
-v: 詳細ログを表示する
-z: gzip 圧縮を使用する
-f: アーカイブファイル名
$(date +%s): 現在の日時を秒単位で取得する

バックアップファイルの確認

バックアップディレクトリには、volumes-$(date +%s).tgz という名前のファイルが生成されます。このファイルがバックアップファイルです。

バックアップファイルの保存

バックアップファイルは、安全な場所に保存してください。

復元手順

  1. Dify サーバーに SSH でログインします。

  2. Dify プロジェクトのディレクトリに移動します。

  3. バックアップファイルがある場所に移動します。

  4. Docker のボリュームを復元します。

    1. sudo tar -xvzf ./backup/volumes-$(date +%s).tgz ./dify/docker/volumes

  5. Docker Compose を起動します。

    1. sudo docker compose up -d

補足

このマニュアルは、Dify のバックアップ手順の基本的な説明です。実際には、Dify のバージョンや構成によっては、追加のバックアップ手順が必要となる場合があります。Dify のドキュメントを参照して、詳細を確認してください。



Difyサーバーお引越し編

新しい Azure 仮想環境に引っ越しの必要があったので追記で記載しておきます。

必要なもの

  • Azure 仮想マシンのパブリック IP アドレス

  • 仮想マシンへの SSH アクセスのための鍵ファイル

  • コピーするバックアップファイル

新しいサーバーへのアップロード手順

  1. SSHとファイルのあるディレクトリに移動します。

  2. scp コマンドを使用してファイルをコピーします。
    scp -i <鍵ファイル名> <ファイル名> <ユーザー名>@<パブリックIPアドレス>:<コピー先ディレクトリ>

scp -i ****_key.pem ./volumes-1724636653.tar test0000@00.000.000.000:/home/test0731
    


1. 保険で現状のバックアップも作成しておく(ページ上部参照)

2. 移動元のバックアップを移動先のサーバーで復元

  1. 復元する(アップロードした)バックアップファイルを確認する。

    1. ls

  2. tar コマンドを使ってバックアップファイルを解凍しDifyフォルダを上書き。

    1. sudo tar -xvf volumes-*******.tar

  3. 解凍されたファイルが正しい場所にあることを確認する。

    1. cd dify/docker/volumes ls -l

  4. Docker コンテナを起動する。

    1. sudo docker-compose up -d

  5. コンテナが正常に起動していることを確認する。

    1. sudo docker-compose logs api

注記:

Difyのバージョンは合わせておいた方がいいので、移動もとのDifyをバックアップ前にアップデートすることをお勧めします。
(バックアップ→アプデ→もう一度バックアップ)

アップデート手順

# Difyのソースコードディレクトリに移動
cd dify/docker

# ソースコードを最新版に更新
git pull origin main

# Dockerコンテナを停止・削除
docker compose down

# Dockerイメージをプルして実行
docker compose pull
docker compose up -d


この記事が気に入ったらサポートをしてみませんか?