1609 字
8 分鐘
Zeabur 平台 Dify v1.10.0 升級前的完整備份指南

前言#

最近 Dify 釋出了 v1.10.0 版本,帶來了令人興奮的 Trigger(觸發器) 功能,支援定時排程和 Webhook 回調等自動化觸發機制。在 Zeabur 平台上升級前,做好資料備份是非常重要的一步。

本文記錄了我在 Zeabur 平台升級 Dify 至 v1.10.0 前的備份流程,以及相關的升級注意事項。


Dify v1.10.0 新功能亮點#

在進入備份流程前,先來了解這次升級帶來的主要新功能:

Trigger 觸發器功能#

v1.10.0 最重要的新功能是 Trigger(觸發器),支援三種類型:

觸發類型說明使用場景
Schedule基於時間的定時觸發定期執行報表生成、資料同步
WebhookHTTP 回調觸發外部系統事件通知、API 整合
SaaS Integration第三方平台事件Slack、GitHub、Linear 等平台整合
IMPORTANT

Trigger 功能僅適用於 Workflow,Chatflow、Agent 和 BasicChat 暫不支援。

其他重要更新#

  • Iteration 節點:新增 flatten_output 配置選項
  • MCP 規範升級:支援 MCP 2025-06-18 規範
  • Workflow 暫停狀態:支援暫停和恢復上下文
  • MCP 音訊支援:MCP Tools 現已支援音訊內容

Zeabur 平台備份流程#

Zeabur 提供了內建的備份工具,可以備份資料庫和服務 Volume。Dify 在 Zeabur 上運行時包含多個服務,其中三個核心服務必須備份:

服務資料內容備份方式
db (PostgreSQL)工作流定義、提示模板、用戶帳戶及權限資料庫備份
weaviate知識庫向量索引和嵌入結果Volume 備份
api上傳的文件和靜態資源Volume 備份
關於 plugin-daemon

plugin-daemon 本身不儲存核心用戶資料,插件的註冊資訊已包含在 PostgreSQL 資料庫中。

但如果你有自訂插件本地安裝的插件,建議額外備份 plugin-daemon 服務,以避免升級後需要重新安裝或設定插件。使用官方 Marketplace 插件的用戶則無需備份此服務。

步驟一:暫停相關服務#

在備份 Volume 資料前,需要先暫停服務:

  1. 進入 Zeabur Dashboard
  2. 依序暫停 apiweaviate 服務
  3. 點擊各服務的 Settings → Suspend Service
NOTE

暫停服務不會造成資料遺失,但這是備份 Volume 的必要步驟。

步驟二:備份 PostgreSQL 資料庫(db)#

資料庫可以在線上備份,無需停機:

  1. 在 Zeabur Dashboard 中找到 db 服務(PostgreSQL)
  2. 切換到 Backup 標籤
  3. 點擊 Backup 按鈕
  4. 等待備份完成後下載 SQL dump 檔案

步驟三:備份 Weaviate 向量資料庫#

  1. 確認 weaviate 服務已暫停
  2. 在 weaviate 服務的 Backup 標籤中點擊 Backup
  3. 等待備份完成後下載檔案

步驟四:備份 API 存儲#

  1. 確認 api 服務已暫停
  2. 在 api 服務的 Backup 標籤中點擊 Backup
  3. 等待備份完成後下載檔案
CAUTION

Zeabur 僅保留備份 7 天,請務必下載並另外存檔以確保長期安全。

步驟五:恢復服務#

備份完成後:

  1. 進入各服務的 Overview 頁面
  2. 點擊 Restart Service 恢復運行
  3. 建議啟動順序:db → weaviate → api → 其他服務

Docker 自架環境備份方案#

如果你是使用 Docker Compose 自架 Dify,以下提供三種備份方案:

方案一:備份 Docker Volumes(推薦)#

這是最完整且簡單的備份方式,一次備份包含所有資料。

備份設定檔#

Terminal window
# 在 dify/docker 目錄下執行
mkdir -p backup
cp .env ./backup/
cp docker-compose.yaml ./backup/

備份三個核心 Volume#

Terminal window
# 備份 API 存儲
docker run --rm --volumes-from docker-api-1 \
-v ${PWD}:/backup busybox \
tar cvf /backup/docker-api.tar app/api/storage
# 備份 Weaviate 向量資料庫
docker run --rm --volumes-from docker-weaviate-1 \
-v ${PWD}:/backup busybox \
tar cvf /backup/docker-weaviate-data.tar var/lib/weaviate
# 備份 PostgreSQL 資料庫
docker run --rm --volumes-from docker-db-1 \
-v ${PWD}:/backup busybox \
tar cvf /backup/docker-db-data.tar var/lib/postgresql/data

還原步驟#

Terminal window
# 1. 下載最新 Dify 程式碼
git clone https://github.com/langgenius/dify.git
cd dify/docker
# 2. 恢復設定檔
cp /path/to/backup/.env .
cp /path/to/backup/docker-compose.yaml .
# 3. 複製備份檔案到當前目錄
cp /path/to/backup/*.tar .
# 4. 啟動服務
docker compose up -d
# 5. 等待容器啟動後還原資料
docker run --rm --volumes-from docker-api-1 \
-v ${PWD}:/backup busybox \
tar xvf /backup/docker-api.tar -C /
docker run --rm --volumes-from docker-weaviate-1 \
-v ${PWD}:/backup busybox \
tar xvf /backup/docker-weaviate-data.tar -C /
docker run --rm --volumes-from docker-db-1 \
-v ${PWD}:/backup busybox \
tar xvf /backup/docker-db-data.tar -C /
# 6. 執行資料庫升級
docker exec -it docker-api-1 flask db upgrade

方案二:PostgreSQL 單獨備份#

如果只需備份資料庫:

Terminal window
# 完整叢集備份
docker exec -it docker-db-1 pg_dumpall -U postgres > full_backup_$(date +%Y%m%d_%H%M%S).sql
# 或僅備份 dify 資料庫
docker exec -it docker-db-1 pg_dump -U postgres -d dify > dify_backup_$(date +%Y%m%d_%H%M%S).sql

還原:

Terminal window
docker exec -it docker-db-1 psql -U postgres < /path/to/backup.sql

方案三:直接壓縮 Volumes 資料夾#

最簡便的方式:

Terminal window
# 壓縮整個 volumes 資料夾
tar -czf dify_volumes_backup_$(date +%Y%m%d_%H%M%S).tar.gz ./volumes/
# 還原
tar -xzf dify_volumes_backup_*.tar.gz -C /path/to/dify/docker/

Dify 核心資料組成#

了解 Dify 的資料結構有助於選擇適合的備份策略:

資料類型儲存位置說明
PostgreSQLdocker-db-1工作流定義、提示模板、用戶帳戶
Weaviatedocker-weaviate-1知識庫向量索引和嵌入結果
API 存儲docker-api-1上傳的文件和靜態資源
設定檔.env, docker-compose.yaml環境變數和服務設定

升級注意事項#

容器名稱確認#

不同環境下容器名稱可能不同,執行備份前先確認:

Terminal window
docker ps | grep dify

根據輸出調整命令中的容器名稱(如 docker-api-1 可能是 dify-api-1)。

API 密鑰保護#

使用 SQL 單獨備份可能導致模型供應商的 API 密鑰無法還原。建議使用完整的 volumes 備份以避免此問題。

升級前檢查清單#

  • ✅ 備份 .envdocker-compose.yaml
  • ✅ 執行完整的 volumes 備份
  • ✅ 確保伺服器有足夠的磁碟空間
  • ✅ 備份 PostgreSQL 資料庫(可選但推薦)
  • ✅ 網路連接穩定

備份方案比較#

備份方式優點缺點適用場景
Zeabur 內建備份操作簡單、整合度高僅保留 7 天Zeabur 平台用戶
備份 volumes 資料夾完整、保留所有設定檔案較大完整備份、遷移
PostgreSQL 備份輕量、結構化遺失檔案和金鑰定期自動備份
組合方案靈活、適應多種需求複雜度中等生產環境

結語#

在升級 Dify 這類關鍵服務前,做好資料備份是必要的防護措施。無論是使用 Zeabur 平台的內建工具,還是自架環境的 Docker volumes 備份,選擇適合自己需求的方案最重要。

升級到 v1.10.0 後,別忘了試試新的 Trigger 功能,它能讓你的工作流自動化程度更上一層樓!


Zeabur 平台 Dify v1.10.0 升級前的完整備份指南
https://laplusda.com/posts/zeabur-dify-backup-upgrade-guide/
作者
Zero
發佈於
2025-11-26
許可協議
CC BY-NC-SA 4.0
這篇文章有幫助嗎?

回報錯字、失效連結,或告訴我你想看的延伸主題。