1. 升級前準備工作
1.1 數據備份:
進入原安裝包 docker 目錄,備份“volumes”文件夾,此文件夾包含了 Dify 數據庫數據:
root@joe:/usr/local/dify/docker/volumes# pwd
/usr/local/dify/docker/volumes
root@joe:/usr/local/dify/docker# tar -czvf volumes.tar.gz volumes/
root@joe:/usr/local/dify/docker# ll
total 558460
drwxrwxr-x 11 root root 4096 Jun 30 03:31 ./
drwxrwxr-x 11 root root 4096 Jun 11 08:28 ../
drwxrwxr-x 2 root root 4096 Jun 11 08:28 certbot/
drwxrwxr-x 2 root root 4096 Jun 11 08:28 couchbase-server/
-rw-rw-r-- 1 root root 8641 Jun 11 08:28 docker-compose.middleware.yaml
-rw-rw-r-- 1 root root 174447 Jun 11 08:28 docker-compose.png
-rw-rw-r-- 1 root root 26409 Jun 11 08:28 docker-compose-template.yaml
-rw-rw-r-- 1 root root 55713 Jun 11 08:28 docker-compose.yaml
drwxrwxr-x 2 root root 4096 Jun 11 08:28 elasticsearch/
-rw-rw-r-- 1 root root 37378 Jun 11 08:28 .env
-rwxrwxr-x 1 root root 4097 Jun 11 08:28 generate_docker_compose*
-rw-rw-r-- 1 root root 5197 Jun 11 08:28 middleware.env.example
drwxrwxr-x 4 root root 4096 Jun 11 08:28 nginx/
drwxrwxr-x 2 root root 4096 Jun 11 08:28 pgvector/
-rw-rw-r-- 1 root root 6883 Jun 11 08:28 README.md
drwxrwxr-x 2 root root 4096 Jun 11 08:28 ssrf_proxy/
drwxrwxr-x 2 root root 4096 Jun 11 08:28 startupscripts/
drwxrwxr-x 3 root root 4096 Jun 11 08:28 tidb/
drwxrwxr-x 12 root root 4096 Jun 15 09:07 volumes/
-rw-r--r-- 1 root root 571473920 Jun 30 03:34 volumes.tar.gz
root@joe:/usr/local/dify/docker# cp volumes.tar.gz /opt/dify1.4.2/
1.2 備份配置文件(.env 和 docker-compose.yml):
root@joe:/usr/local/dify/docker# cp .env .env.bak
root@joe:/usr/local/dify/docker# cp docker-compose.yaml docker-compose.yaml.bak
root@joe:/usr/local/dify/docker# cp .env.bak /opt/dify1.4.2/
root@joe:/usr/local/dify/docker# cp docker-compose.yaml.bak /opt/dify1.4.2/
1.3 停止服務
root@joe:/usr/local/dify/docker# docker compose down
2. 執行升級
以下是基于 Docker 安裝的 Dify 版本升級步驟:
下載最新版本代碼(如從 GitHub)并解壓。
2.1 上傳文件
2.2 加壓文件
root@joe:/usr/local# tar -zxvf dify-1.5.0.tar.gz
2.3 復制文件
root@joe:/usr/local# cp -rf dify/docker/volumes/ dify-1.5.0/docker/volumes/
root@joe:/usr/local# cp -rf dify/docker/.env dify-1.5.0/docker/
2.4 刪除源文件目錄并且替換新的
oot@joe:/usr/local# ll
total 34356
drwxr-xr-x 12 root root 4096 Jun 30 03:54 ./
drwxr-xr-x 14 root root 4096 Sep 11 2024 ../
drwxr-xr-x 3 root root 4096 Jun 15 08:31 bin/
drwxrwxr-x 11 root root 4096 Jun 11 08:28 dify/
-rw-r--r-- 1 root root 17459064 Jun 15 08:49 dify-1.4.2.tar.gz
drwxrwxr-x 12 root root 4096 Jun 25 09:23 dify-1.5.0/
-rw-r--r-- 1 root root 17668206 Jun 30 03:54 dify-1.5.0.tar.gz
drwxr-xr-x 2 root root 4096 Sep 11 2024 etc/
drwxr-xr-x 2 root root 4096 Sep 11 2024 games/
drwxr-xr-x 2 root root 4096 Sep 11 2024 include/
drwxr-xr-x 4 root root 4096 Jun 15 09:13 lib/
lrwxrwxrwx 1 root root 9 Sep 11 2024 man -> share/man/
drwxr-xr-x 2 root root 4096 Sep 11 2024 sbin/
drwxr-xr-x 5 root root 4096 Jun 15 08:30 share/
drwxr-xr-x 2 root root 4096 Sep 11 2024 src/
root@joe:/usr/local# rm -rf dify/
root@joe:/usr/local# mv dify-1.5.0/ dify
root@joe:/usr/local# ll
total 34352
drwxr-xr-x 11 root root 4096 Jun 30 03:59 ./
drwxr-xr-x 14 root root 4096 Sep 11 2024 ../
drwxr-xr-x 3 root root 4096 Jun 15 08:31 bin/
drwxrwxr-x 12 root root 4096 Jun 25 09:23 dify/
-rw-r--r-- 1 root root 17459064 Jun 15 08:49 dify-1.4.2.tar.gz
-rw-r--r-- 1 root root 17668206 Jun 30 03:54 dify-1.5.0.tar.gz
drwxr-xr-x 2 root root 4096 Sep 11 2024 etc/
drwxr-xr-x 2 root root 4096 Sep 11 2024 games/
drwxr-xr-x 2 root root 4096 Sep 11 2024 include/
drwxr-xr-x 4 root root 4096 Jun 15 09:13 lib/
lrwxrwxrwx 1 root root 9 Sep 11 2024 man -> share/man/
drwxr-xr-x 2 root root 4096 Sep 11 2024 sbin/
drwxr-xr-x 5 root root 4096 Jun 15 08:30 share/
drwxr-xr-x 2 root root 4096 Sep 11 2024 src/
root@joe:/usr/local# cd dify/
2.5 執行文件
root@joe:/usr/local/dify/docker# sudo docker compose up -d
升級成功: