分類
標籤
.env AI AI 平台 Arm Astro BigQuery btop Certbot Chrome CICD Cookie Coolify CORS CSS cURL DataTables defineExpose DevOps Dify Fetch API Gamania GitLab Google Calendar Google Cloud Summit Google Tag Manager GSAP HTML iCal inject JavaScript Laravel Less LINE Llama 3 Masonry Meta Nginx Nginx UI No-code O(log n) Ollama OpenSSL Oracle PHP Pinia Pixel provide Proxyman Raycast requestAnimationFrame script setup Server Session Sitemap Socialite SSL UI元件 Valet Vertex AI Vite Vue 2 Vue 3 Vue3 Vuex Webpack Yahoo Calendar Zeabur 二分搜尋 使用者體驗 元件溝通 前端開發 動畫效果 峰值體驗 廣告 性能優化 打包 拖曳功能 推薦系統 搜尋 效率工具 時間複雜度 演算法 瀑布流排版 父子元件 版面配置 狀態管理 環境變數 程式碼複製按鈕 系統監控 網站地圖 網頁開發 自動化部署 自架伺服器 螢幕刷新率 語言模型 資訊檢索 跨域請求 轉化率 開發工具 開發環境 陣列 電子商務
982 字
5 分鐘
使用 Coolify 部署 Dify v1.1.1 紀錄
使用 Coolify 部署 Dify v1.1.1 紀錄
緊急更新 (2025/03/21):發現安裝 plugin 後重啟服務時,會發生 Redis 無法啟動的錯誤。如果遇到這個問題,需要修改 docker-compose 檔案中的以下設定:
將原本的:
plugin_daemon: volumes: - 'dify-storage:/app/storage'
改為:
plugin_daemon: volumes: - 'dify-storage-plugin:/app/storage'
這樣應該可以解決服務無法正常啟動的問題。
最近 Dify 正式發布正式 v1.1.1 版本,作為一個開源的 LLMOps 平台,它提供了從 AI 應用搭建到部署的完整解決方案。而 Coolify 作為一個自託管的 Heroku/Netlify/Vercel 替代品,提供了簡單但強大的部署方式。
特別建議:原本使用 Dify v0.15.3 進行全新安裝
前置準備
在開始前,請確保您有:
- 一台已安裝 Coolify 的伺服器 (如尚未安裝可參考官方文件)
- 接近 4GB 以上的可用記憶體 (Dify 全功能運行建議)
- 基本的 Docker 和網路知識
部署步驟
1. 使用 docker-compose 部署 Dify 服務
根據 Coolify PR (#5320) 中的設定,部署 Dify 最簡單的方式是直接使用 docker-compose 檔案:
- 登入您的 Coolify 控制台
- 建立新服務 → 選擇「Docker Compose」服務類型
- 上傳或貼上基於 PR #5320 的 docker-compose.yml 檔案
2. 設定必要參數與環境變數
在 docker-compose 檔案中,需要注意以下幾個重要參數設定:
# PostgreSQL 設定
# 將 image: 'postgres:15-alpine' 修改為
image: 'postgres:16-alpine' # 提供更好的效能與安全性
# 核心功能配置
SECRET_KEY=your-secret-key # 建議生成一個隨機字串
POSTGRES_USER=postgres
POSTGRES_PASSWORD=your-db-password
POSTGRES_DB=dify
# 文件上傳限制設定 (重要)
UPLOAD_FILE_SIZE_LIMIT=50M
UPLOAD_FILE_BATCH_LIMIT=10
UPLOAD_IMAGE_FILE_SIZE_LIMIT=15M
NGINX_CLIENT_MAX_BODY_SIZE=50M # 特別注意這項設定,必須在部署前設定
重要提示:
NGINX_CLIENT_MAX_BODY_SIZE
必須優先設定,它決定了上傳檔案的大小限制。根據您的實際需求,可能需要調整為更大的值,特別是當您計劃上傳大型 PDF 或其他文件到知識庫時。
3. 配置持久化存儲
Dify 的數據需要持久化存儲,請在 docker-compose 檔案中確保配置以下存儲卷:
volumes:
- ./data/storage:/app/api/storage # 存儲上傳的檔案和索引
- ./data/postgres:/var/lib/postgresql/data # PostgreSQL 數據
- ./data/tasks:/app/api/tasks # 任務處理
4. 網路和安全設定
在 Coolify 控制台中,完成以下網路設定:
域名配置:
- 設定您的自訂域名 (如
dify.yourcompany.com
) - 啟用 HTTPS (強烈建議)
- 設定您的自訂域名 (如
防火牆設定:
- 確保開放 TCP 80 和 443 連接埠
- 如使用內部網路,請配置相應的網路規則
5. 資源配置
根據預期使用情況調整資源限制:
- 基本使用: 2 CPU / 2GB RAM
- 推薦配置: 4 CPU / 4GB RAM (用於大型索引和多用戶)
6. 啟動和驗證
- 完成所有配置後,點擊「部署」按鈕
- 等待服務啟動 (初次部署可能需要 3-5 分鐘)
- 部署成功後,訪問配置的域名
- 首次訪問會引導您創建管理員帳號
常見問題與解決方案
文件上傳問題
如果遇到文件上傳失敗,通常與 NGINX 配置有關:
# 確保在部署前已正確設定這個變數
NGINX_CLIENT_MAX_BODY_SIZE=50M # 或更大值,取決於您的需求
數據庫連線問題
如果出現數據庫連線錯誤,請檢查:
- PostgreSQL 環境變數是否正確設定
- 數據庫存儲卷是否正確掛載
- 服務啟動日誌中有無具體錯誤信息
PostgreSQL 版本說明:PostgreSQL 16-alpine 相比於 15-alpine 提供更好的效能、更新的功能以及安全更新,強烈建議在新部署中使用。
效能優化
對於生產環境,推薦添加以下配置來優化效能:
# 增加 Web 服務工作進程
WEB_CONCURRENCY=2
# 知識庫處理設定
CELERY_WORKER_CLASS=prefork
MAX_UPLOAD_WORKERS=2
# Redis 優化
REDIS_QUEUE_MAX_CONCURRENCY=10
結論
希望這份部署紀錄能幫助大家順利架設自己的 Dify 平台。
相關資源:
使用 Coolify 部署 Dify v1.1.1 紀錄
https://laplusda.com/posts/dify-v1-coolify-deployment/