Dify 本地部署教學:Docker Compose 安裝、初始化管理員、改配置與升級

Dify 怎麼本地部署?本文按官方自部署文檔給出最低配置、三條命令啟動 Docker Compose、各容器應有的狀態、從 /install 初始化管理員,以及改端口、升級和克隆報錯的處理。

NNathaniel bigo··原創首發·AI 輔助撰寫
8 分鐘讀完
資料核對於 2026-10-11 · 依據官方文檔與公開資料整理 免費帳號 帳號

適用於誰

  • 搜「dify 本地部署」「dify docker 部署教學」「dify docker 部署升級」「dify windows docker 部署」的人;
  • 出於數據不出內網、想接本地模型等原因,要把 Dify 裝在自己電腦或伺服器上的人。

本文根據 Dify 官方自部署文檔整理,資料核對於 2026-10-11。只是想試試 Dify 的話,直接用雲端版更快,見《Dify怎麼用》。

結論先說

  1. 官方推薦用 Docker Compose 部署,核心就三步:克隆代碼、複製 .env、docker compose up -d。
  2. 最低配置:CPU 2 核、內存 4 GiB;Docker Compose 需要 2.24.0 或更高。
  3. 啟動後先訪問 /install 創建管理員,再從首頁登入。
  4. 改配置改的是 docker/.env,改完要重啟容器。
  5. 升級沒有一條通用命令,官方要求按目標版本的發佈說明操作。

部署前準備

硬件

官方給出的最低要求:CPU ≥ 2 核,內存 ≥ 4 GiB。這只是讓 Dify 自己跑起來的要求,不包含本地模型。

軟件

操作系統所需軟件官方備註
macOS 10.14 或更高Docker Desktop(含 Docker Compose 2.24.0+)Docker 虛擬機至少分配 2 個虛擬 CPU 和 8 GiB 內存
LinuxDocker 19.03+、Docker Compose 2.24.0+—
Windows(啟用 WSL 2)Docker Desktop(含 Docker Compose 2.24.0+)原始碼和掛載給容器的數據建議放在 Linux 文件系統裏,而不是 Windows 盤

先確認版本:

bash
docker compose version

步驟

1. 克隆代碼

官方命令會自動取最新的發佈版本:

bash
git clone --branch "$(curl -s https://api.github.com/repos/langgenius/dify/releases/latest | jq -r .tag_name)" https://github.com/langgenius/dify.git

這條命令依賴 git、curl、jq 三個工具,缺哪個裝哪個。

2. 準備配置並啟動

bash
cd dify/docker
cp .env.example .env
docker compose up -d

官方文檔列出會啟動的容器:

  • 7 個核心服務:api、api_websocket、worker、worker_beat、web、plugin_daemon、agent_backend;
  • 8 個依賴組件:weaviate、db_postgres、redis、nginx、ssrf_proxy、agent_ssrf_proxy、sandbox、local_sandbox;
  • 1 個一次性任務 init_permissions,用來設定存儲文件的權限,跑完自動退出。

第一次啟動要拉取所有鏡像,耗時取決於網絡。

3. 檢查容器狀態

bash
docker compose ps

每個容器的狀態應該是 Up 或 healthy。init_permissions 顯示 Exited 是正常的,不用管。

4. 初始化管理員並登入

  1. 瀏覽器打開初始化頁面,設定管理員帳號:
  • 本機:http://localhost/install
  • 伺服器:http://伺服器IP/install
  1. 設定完成後從首頁登入:http://localhost 或 http://伺服器IP。

登入之後的使用方式和雲端版一樣:先到模型供應商裏接入模型,再創建應用。

修改配置

官方文檔對配置文件的說明:

  • 必要的啟動配置在 docker/.env 裏(就是你從 .env.example 複製出來的那個文件),直接編輯;
  • 可選的、特定組件的配置在 docker/envs/ 下有模板。要覆蓋預設值,把對應模板複製一份並去掉 .example 後綴再編輯,例如:
bash
cd dify/docker
cp envs/vectorstores/milvus.env.example envs/vectorstores/milvus.env
  • docker/.env 裏的值優先級高於 docker/envs/*.env。

改完之後重啟才生效:

bash
docker compose down
docker compose up -d

80 端口被佔用是最常見的啟動失敗原因(Dify 自帶的 nginx 預設對外用 80 端口)。官方「環境變量」文檔裏對應的變量是 EXPOSE_NGINX_PORT(預設 80,含義是映射到 Nginx HTTP 的宿主機端口)。在 docker/.env 裏把它改成別的端口再重啟;改了之後訪問地址也要帶上端口號,例如 http://localhost:8080/install。

升級

官方的說法是:不同版本的升級步驟可能不同,要看 GitHub Releases 頁面裏目標版本的升級指南。另外兩條提醒:

  • 升級後對照新的 .env.example 檢查自己的 .env,看有沒有新增或變更的變量;
  • 如果你改過 docker-compose.yaml,要把改動重新應用到新版本的文件上,不要沿用舊文件,因為新版本可能增加了運行必需的服務。

升級前務必備份。官方 FAQ 給的做法是把整個 dify 目錄複製一份並帶上時間戳:

bash
cp -r dify "dify.bak.$(date +%Y%m%d%H%M%S)"

常見問題

Q:克隆時報 fatal: Remote branch null not found in upstream origin?

官方 FAQ 的解釋:克隆命令通過 GitHub API 獲取最新版本號,這個請求失敗時(文檔裏寫的常見原因是 GitHub 對匿名請求的頻率限制)就會得到 null。到 Dify 的 Releases 頁面查到最新版本號,改用顯式版本號克隆:

bash
git clone --branch 版本號 https://github.com/langgenius/dify.git

官方還說明,不加 --branch 直接克隆也可以運行,main 分支的 Compose 文件指向的仍是最新發布版鏡像。

Q:伺服器上不方便用 git 怎麼辦?

官方 FAQ 提供了 ZIP 方式:用 wget 下載最新發布版的壓縮包再解壓;或者在另一台裝置上下載 ZIP 後手動傳過去。

Q:想裝指定的舊版本?

git clone https://github.com/langgenius/dify.git --branch 版本號,其餘步驟相同。

Q:怎麼接本機的 Ollama?

Dify 跑在容器裏,容器裏的 localhost 不是宿主機。在 Dify 的模型供應商裏添加 Ollama 時,地址要填宿主機可達的地址(Docker Desktop 上一般是 http://host.docker.internal:11434),同時把 Ollama 的 OLLAMA_HOST 設為 0.0.0.0。設定方法見《Ollama 修改模型存儲位置與局域網訪問》。

Q:Windows 上很慢?

對照官方的備註檢查:是否啟用了 WSL 2;代碼目錄是否放在了 Windows 盤上。官方建議把原始碼和掛載數據放在 Linux 文件系統裏。

Q:容器起不來怎麼看原因?

docker compose ps 找到狀態不對的容器,再用 docker compose logs 容器名 看日誌。官方文檔另有「Docker 問題」和「常見問題」兩篇排查文章。

參考資料

  • Dify 文檔:使用 Docker Compose 部署 Dify — https://docs.dify.ai/zh/self-host/deploy/quick-start/docker-compose
  • 自部署常見問題 — https://docs.dify.ai/zh/self-host/deploy/quick-start/faqs
  • 環境變量 — https://docs.dify.ai/zh/self-host/deploy/configuration/environments
  • Dify Releases — https://github.com/langgenius/dify/releases
需要開通或續費?AI 會員充值與全部商品 →

Nathaniel 的更多內容

  1. 01

    AI 學習路線:零基礎從哪開始,6 個階段、每階段該讀哪幾篇教學(2026)

    AI 學習路線怎麼走?給零基礎的人一條循序漸進的路徑:先選一個助手用順,再學提問,再用進日常工作,按需學做圖做影片,守住私隱與版權,最後進階自動化和編程。每個階段都配了本站對應的教學。

    其他 AI 工具0
  2. 02

    AI 瀏覽器有哪些:Perplexity Comet、Opera Neon、Dia、Brave Leo 與 Edge Copilot 的官方說法對照

    AI 瀏覽器有哪些?按官方頁面整理 Perplexity Comet、Opera Neon、Dia、Brave Leo 和 Edge 裏的 Copilot:官方自述的定位、支持的平台、免費還是訂閱,以及 Gemini、Claude 的 Chrome 方案和已停用的 ChatGPT Atlas。

    其他 AI 工具0
  3. 03

    即夢國際版 Dreamina 是什麼:官方站入口、能生成什麼、免費積分和模型(2026)

    即夢國際版 Dreamina 是什麼?官方站是 dreamina.capcut.com,是一個圖片、影片和數字人一體的 AI 創作平台。按官方首頁和 FAQ 講:能生成什麼、免費用戶每天 120 積分、列出的 Seedance 與 Seedream 模型,以及和國內即夢怎麼區分。

    其他 AI 工具0
  4. 04

    Kimi K3 Coding Plan 是什麼、怎麼用:Kimi Code 會員、模型 ID、套餐價格和額度規則

    Kimi K3 Coding Plan 是什麼?按 Kimi 官方文檔核對:官方現在叫 Kimi Code,是 Kimi 會員權益裏的編程服務,Plus 及以上才有;講 K3 等模型 ID、國內新套餐價格、三種客戶端、第三方工具接入和額度規則。

    Kimi0
  5. 05

    DeepSeek V4 Pro 和 Flash 的區別與 API 價格:官方價格頁逐項對照(高峰與空閒時段)

    DeepSeek V4 Pro 和 Flash 有什麼區別、API 怎麼收費?按 DeepSeek 官方價格頁(2026-10-19 查詢)列出兩個模型的版本、上下文、圖像理解、並發和每百萬 token 價格,說明高峰與空閒時段的計費差別和舊模型名怎麼處理。

    其他 AI 工具0
  6. 06

    GPT-6 Pro(Astra)怎麼用、哪些套餐有:怎麼選到 Pro 檔、用量限制和 Pro 三檔價格

    GPT-6 Pro(Astra)怎麼用、哪些套餐有?按 OpenAI 幫助中心核對:聊天裏 Pro 檔給 Pro 100、Pro 200、Business 和 Enterprise;Plus 在 Work 和 Codex 裏含 Astra。講怎麼選到、用量上限和官方 Pro 價格。

    ChatGPT0

同產品的其他教學

  1. 01

    AI圖片放大與高清修復:Midjourney、ChatGPT、Gemini 怎麼出高解像度圖

    AI 生成的圖不夠清晰,想打印或做大圖怎麼辦?本文按官方文檔講清 Midjourney 的 Subtle / Creative 放大和 HD 直出、Gemini 與 ChatGPT 的解像度選項、Flow 的影片放大,以及「AI 放大會編造細節」的注意事項。

    Gemini其他 AI 工具0
  2. 02

    AI影片運鏡提示詞大全:推拉搖移跟升降、環繞、甩鏡怎麼寫(中英對照)

    AI 影片的運鏡提示詞怎麼寫?本文按 Google 官方影片提示指南整理鏡頭運動、機位角度、鏡頭光學效果三張中英對照表,每個術語配效果說明和例句,並給出組合運鏡的寫法和常見翻車原因,適用於 Veo、即夢、可靈等工具。

    Gemini其他 AI 工具0
  3. 03

    AI 影片翻譯怎麼做:用 ElevenLabs 給影片自動配音翻譯、轉寫並生成字幕

    想把一段影片翻譯成另一種語言並保留原聲音色?本文按 ElevenLabs 官方文檔講清 Dubbing 自動配音翻譯的操作步驟、文件限制、免費檔水印與計費方式,以及用 Speech to Text 轉寫、在字幕編輯器裏調整並導出字幕的流程。

    其他 AI 工具0
  4. 04

    MCP Inspector 怎麼用:安裝、啟動命令、調試 MCP 伺服器與 v2 的變化

    MCP Inspector 是什麼、怎麼安裝和使用?按 MCP 官方文檔講清網頁、命令行、終端介面三種模式的啟動命令,怎麼連本地和遠程伺服器、怎麼傳環境變量,密鑰存在哪,以及 v2 相比舊教學在端口、令牌變量名和 Node 版本上的變化。

    Claude其他 AI 工具0
  5. 05

    MCP 的 stdio、SSE 和 Streamable HTTP 有什麼區別:本地與遠程 MCP 怎麼選

    MCP 配置裏的 stdio、sse、http 到底差在哪?按 MCP 官方規範講清兩種標準傳輸方式的工作原理、Streamable HTTP 與舊的 HTTP+SSE 的關係、會話與斷線續傳、規範對安全的硬性要求,以及本地伺服器和遠程伺服器各適合什麼場景。

    Claude其他 AI 工具0
  6. 06

    Midjourney 可以商用嗎:作品歸屬、商用條件與隱身模式

    Midjourney 生成的圖片和影片能不能商用、版權歸誰、公司用要什麼套餐、作品會不會被別人看到?本文按 Midjourney 服務條款逐條解釋,並補充中美對 AI 生成圖片版權的官方 / 司法觀點。

    其他 AI 工具0

0 條評論

登入 後參與評論

還沒有評論,來搶沙發~