亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

ubuntu16.04如何部署dify? 在Linux上安裝部署Dify的技巧

  發(fā)布時(shí)間:2025-05-13 11:35:21   作者:taojianglong   我要評(píng)論
隨著云計(jì)算和容器技術(shù)的快速發(fā)展,Docker已經(jīng)成為現(xiàn)代軟件開發(fā)和部署的重要工具之一,Dify作為一款優(yōu)秀的云原生應(yīng)用,通過Docker容器化部署可以帶來更高的靈活性和可擴(kuò)展性,本文將詳細(xì)介紹在Ubuntu系統(tǒng)上部署Dify的步驟和注意事項(xiàng),幫助讀者快速完成Dify的部署

Dify 是一個(gè)基于 Docker 的工作流管理工具,旨在簡化機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)領(lǐng)域的多步驟工作流。它通過容器化每個(gè)步驟,確保工作流的可復(fù)現(xiàn)性和環(huán)境一致性。Dify 支持自動(dòng)化執(zhí)行、日志記錄和結(jié)果管理,適用于數(shù)據(jù)處理、模型訓(xùn)練和部署等場景。

Dify 主要支持以下三種模式:

  • Agent 模式:Dify 作為一個(gè)代理,通過配置和管理多種工作流,進(jìn)行任務(wù)調(diào)度和執(zhí)行。
  • 知識(shí)庫模式:用于存儲(chǔ)和管理工作流相關(guān)的知識(shí)、數(shù)據(jù)庫和模型,方便復(fù)用和共享。
  • 工作流模式:Dify 通過定義工作流的各個(gè)步驟,自動(dòng)化執(zhí)行數(shù)據(jù)處理、模型訓(xùn)練、測(cè)試等任務(wù),確保工作流的一致性和高效性。

安裝 Dify 之前, 請(qǐng)確保機(jī)器已滿足最低安裝要求:

  • CPU >= 2 Core
  • RAM >= 4 GiB

1、克隆 Dify 源代碼至本地環(huán)境

git clone https://github.com/langgenius/dify.git

也可以手動(dòng)下載到本地https://github.com/langgenius/dify/archive/refs/heads/main.zip,解壓后移動(dòng)到服務(wù)器上。

2、加速Dify鏡像文件下載

詳情見:https://github.com/imashen/docker-aio/tree/main

  • 安裝腳本使用:curl -fsSL https://docker.13140521.xyz/install | bash -s docker --mirror Aliyun
  • Docker加速源使用:
  • 編輯Docker配置文件: 打開Docker的配置文件(通常位于/etc/docker/daemon.json):sudo vim /etc/docker/daemon.json
  • 添加或修改鏡像源: 添加或修改配置文件中的registry-mirrors字段:
{
  "registry-mirrors": [
    "https://docker.13140521.xyz"
  ]
}

重啟Docker服務(wù): 保存配置文件并重啟Docker服務(wù):

sudo systemctl daemon-reload
sudo systemctl restart docker

3、啟動(dòng) Dify

進(jìn)入 Dify 源代碼的 Docker 目錄cd dify/docker

復(fù)制環(huán)境配置文件cp .env.example .env

啟動(dòng) Docker 容器

根據(jù)你系統(tǒng)上的 Docker Compose 版本,選擇合適的命令來啟動(dòng)容器。你可以通過docker compose version命令檢查版本,詳細(xì)說明請(qǐng)參考 Docker 官方文檔:

如果版本是 Docker Compose V2,使用以下命令:

docker compose up -d

如果版本是 Docker Compose V1,使用以下命令:

docker-compose up -d

運(yùn)行命令后,你應(yīng)該會(huì)看到類似以下的輸出,顯示所有容器的狀態(tài)和端口映射:

[+] Running 11/11
 ? Network docker_ssrf_proxy_network  Created                                                                 0.1s 
 ? Network docker_default             Created                                                                 0.0s 
 ? Container docker_redis_1           Started                                                                 2.4s 
 ? Container docker_ssrf_proxy_1      Started                                                                 2.8s 
 ? Container docker_sandbox_1         Started                                                                 2.7s 
 ? Container docker_web_1             Started                                                                 2.7s 
 ? Container docker_weaviate_1        Started                                                                 2.4s 
 ? Container docker_db_1              Started                                                                 2.7s 
 ? Container docker_api_1             Started                                                                 6.5s 
 ? Container docker_worker_1          Started                                                                 6.4s 
 ? Container docker_nginx_1           Started                                                                 7.1s

最后檢查是否所有容器都正常運(yùn)行:

docker compose ps
[+] Running 11/11
 ? Network docker_ssrf_proxy_network  Created                                                                 0.1s 
 ? Network docker_default             Created                                                                 0.0s 
 ? Container docker_redis_1           Started                                                                 2.4s 
 ? Container docker_ssrf_proxy_1      Started                                                                 2.8s 
 ? Container docker_sandbox_1         Started                                                                 2.7s 
 ? Container docker_web_1             Started                                                                 2.7s 
 ? Container docker_weaviate_1        Started                                                                 2.4s 
 ? Container docker_db_1              Started                                                                 2.7s 
 ? Container docker_api_1             Started                                                                 6.5s 
 ? Container docker_worker_1          Started                                                                 6.4s 
 ? Container docker_nginx_1           Started                                                                 7.1s

4、訪問 Dify

你可以先前往管理員初始化頁面設(shè)置管理員賬戶:

本地環(huán)境

http://localhost/install

服務(wù)器環(huán)境

http://your_server_ip/install

Dify 主頁面:

本地環(huán)境

http://localhost

服務(wù)器環(huán)境

http://your_server_ip

5、更新 Dify

進(jìn)入 dify 源代碼的 docker 目錄,按順序執(zhí)行以下命令:

# 注意:以下方法只針對(duì)git clone方式下載的小伙伴
cd dify/docker
docker compose down
git pull origin main
docker compose pull
docker compose up -d

同步環(huán)境變量配置 (重要!)
如果 .env.example 文件有更新,請(qǐng)務(wù)必同步修改你本地的 .env 文件。

檢查 .env 文件中的所有配置項(xiàng),確保它們與你的實(shí)際運(yùn)行環(huán)境相匹配。你可能需要將 .env.example 中的新變量添加到 .env 文件中,并更新已更改的任何值。
如果是通過下載dify壓縮文件到本地的小伙伴,請(qǐng)重新下載最新的dify壓縮文件并移動(dòng)到服務(wù)器覆蓋當(dāng)前dify目錄。接著進(jìn)入 api 目錄下,執(zhí)行以下命令將數(shù)據(jù)庫結(jié)構(gòu)遷移至最新版本flask db upgrade。接著,運(yùn)行docker-compose up -d即可。

6、常見問題及解決方案

(1)容器restarting

通過docker compose ps,如果出現(xiàn)個(gè)別容器一直restarting,使用docker logs -f查看容器日志,如果日志中出現(xiàn)如下錯(cuò)誤:

- OpenBLAS blas_thread_init: pthread_create failed for thread 47 of 48: Operation not permittedOpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max

修改docker-compose.yaml文件,在每個(gè)鏡像下增加privileged: true # 啟用特權(quán)模式,如:

api:
    image: langgenius/dify-api:0.13.1
    restart: always
    environment:
      # Use the shared environment variables.
      <<: *shared-api-worker-env
      # Startup mode, 'api' starts the API server.
      MODE: api
    depends_on:
      - db
      - redis
    volumes:
      # Mount the storage directory to the container, for storing user files.
      - ./volumes/app/storage:/app/api/storage
    networks:
      - ssrf_proxy_network
      - default
    privileged: true

通過docker-compose down停止所有正在運(yùn)行的容器,然后docker-compose up -d重新啟動(dòng)所有dify鏡像即可解決。

(2)日志文件上限

當(dāng)前docker日志文件沒有設(shè)置上限,會(huì)導(dǎo)致日志文件占用內(nèi)存持續(xù)增長,可通過以下方式設(shè)置單個(gè)日志文件的上限:

api:
    image: langgenius/dify-api:0.13.1
    restart: always
    environment:
      # Use the shared environment variables.
      <<: *shared-api-worker-env
      # Startup mode, 'api' starts the API server.
      MODE: api
    depends_on:
      - db
      - redis
    volumes:
      # Mount the storage directory to the container, for storing user files.
      - ./volumes/app/storage:/app/api/storage
    networks:
      - ssrf_proxy_network
      - default
    privileged: true
    logging:
      driver: "json-file"
      options:
        max-size: "10m"     # 每個(gè)日志文件最大 10MB
        max-file: "3" 

(3)重置管理員密碼

如果你通過 Docker Compose 部署,你可以運(yùn)行以下 Docker Compose 命令行重置密碼。

docker exec -it docker_api_1 flask reset-password

請(qǐng)按照提示輸入郵箱地址和新密碼,例如:

dify@my-pc:~/hello/dify/docker$ docker compose up -d
[+] Running 9/9
 ? Container docker_web_1         Started                                                              0.1s 
 ? Container docker_sandbox_1     Started                                                              0.1s 
 ? Container docker_db_1          Started                                                              0.1s 
 ? Container docker_redis_1       Started                                                              0.1s 
 ? Container docker_weaviate_1    Started                                                              0.1s 
 ? Container docker_ssrf_proxy_1  Started                                                              0.1s 
 ? Container docker_api_1         Started                                                              0.1s 
 ? Container docker_worker_1      Started                                                              0.1s 
 ? Container docker_nginx_1       Started                                                              0.1s 
dify@my-pc:~/hello/dify/docker$ docker exec -it docker-api-1 flask reset-password
None of PyTorch, TensorFlow >= 2.0, or Flax have been found. Models won't be available and only tokenizers, configuration and file/data utilities can be used.
sagemaker.config INFO - Not applying SDK defaults from location: /etc/xdg/sagemaker/config.yaml
sagemaker.config INFO - Not applying SDK defaults from location: /root/.config/sagemaker/config.yaml
Email: hello@dify.ai
New password: newpassword4567
Password confirm: newpassword4567
Password reset successfully.

(4)修改頁面端口

如果你使用 Docker Compose 部署,你可以通過修改.env配置來自定義 Dify 的訪問端口。

你需要修改 Nginx 相關(guān)配置:

EXPOSE_NGINX_PORT=80
EXPOSE_NGINX_SSL_PORT=443

常見問題及解決方案

1. Docker引擎無法啟動(dòng)

  • 問題描述:在執(zhí)行Docker命令時(shí),提示Docker引擎無法啟動(dòng)。
  • 解決方案:首先檢查Docker引擎是否已經(jīng)正確安裝并配置。如果安裝過程中出現(xiàn)問題,可以重新安裝Docker引擎。此外,還需要檢查服務(wù)器上的系統(tǒng)資源是否足夠,如內(nèi)存、CPU等。

2. Dify容器無法正常運(yùn)行

  • 問題描述:在運(yùn)行Dify容器時(shí),容器無法正常啟動(dòng)或運(yùn)行。
  • 解決方案:首先查看Docker容器的日志信息,了解容器啟動(dòng)失敗的原因??赡苁荄ify鏡像存在問題,可以嘗試重新拉取鏡像。此外,還需要檢查容器的配置是否正確,如端口映射、環(huán)境變量等。

相關(guān)文章

最新評(píng)論