XServerVPSでアプリイメージ「Dify」のアップデート処理に失敗する場合は、下記の手順をお試し下さい。
こちらは、公式サイトより案内のあった対処法です。
——————————————————————————–
【1】コンソール接続、またはSSHにてサーバーに接続してください
・コンソール接続について
https://vps.xserver.ne.jp/support/manual/man_server_console.php
・SSH接続方法
https://vps.xserver.ne.jp/support/manual/man_server_ssh_connect.php
※以降でご案内するコマンドにはroot権限が必要となります。rootユーザにてログインするか、
各コマンドに対し、sudoコマンドにて実行をお試しください。
【2】ディレクトリを移動します。
ディレクトリを移動します。
以下のコマンドを入力し、Enterキーで実行してください。
cd /root/dify/docker
【3】Difyを停止します
Difyを停止します。
以下のコマンドを入力し、Enterキーで実行してください。
docker compose down
【4】回避用のコマンドを実行します。
以下のコマンドを入力し、Enterキーで実行してください。
(コマンドが2つありますので、1行ずつ実行してください。)
awk -F= ‘NR==FNR {if ($1 !~ /^#/ && NF >= 2) vars[$1]=$2; next} {if ($1 ~ /^#/ || NF < 2) {print $0} else {if (vars[$1]) $2=vars[$1]; print $1″=”$2}}’ .env .env.example > .env.tmp
mv .env.tmp .env
【5】Difyを起動します
Difyを起動します。
以下のコマンドを入力し、Enterキーで実行してください。
docker compose up -d
【6】アップデートを実行します
Difyのアップデートを実行します。
以下のコマンドを入力し、Enterキーで実行してください。
update.sh
———————————————————————-
補足:回避コマンドについて
awk -F= 'NR==FNR {if ($1 !~ /^#/ && NF >= 2) vars[$1]=$2; next} {if ($1 ~ /^#/ || NF < 2) {print $0} else {if (vars[$1]) $2=vars[$1]; print $1"="$2}}' .env .env.example > .env.tmp
mv .env.tmp .env
このスクリプトは、2つの.env
形式のファイル(.env
と.env.example
)を比較し、.env
ファイルを.env.example
に基づいて更新するプロセスを実行します。
.env
ファイルを.env.example
ファイルに基づいて更新します。
.env.example
にあるキーが.env
に存在する場合、.env
の対応する値を更新します。.env.example
にないキーはそのまま保持されます。- コメント行(
#
で始まる行)や空行もそのまま保持されます。
.env.tmp
という一時ファイルに結果を出力し、最後にその一時ファイルを.env
として上書きします。
コメント