Dify的本地离线部署
简介:众所周知在拉取docker镜像往往因为镜像源的问题,导致拉取失败,或做私有化部署无法访问外网,无法部署应用。
本文将介绍如何在恶劣环境下部署Dify平台。
目标
- 完成离线部署
- 自定义部署web UI
环境要求
CPU >= 2 Core
RAM >= 4 GiB
docker:
Docker 19.03 or later
Docker Compose 1.28 or later
nodejs:
v20.18.2 or later
python:
Python 3.10.12 or later
开始部署Dify
步骤一
需要先下载源码:
gitee拉取:https://gitee.com/dify_ai/dify.git
github拉取:https://github.com/langgenius/dify.git
步骤二
启动 Dify:
进入 Dify 源代码的 docker 目录
cd dify/docker
复制环境配置文件
cp .env.example .env
启动 Docker 容器,推荐两种
第一种:尝试修改国内镜像源
sudo vim /etc/docker/daemon.json
{ "registry-mirrors":[ "https://9cpn8tt6.mirror.aliyuncs.com", "https://registry.docker-cn.com", "https://mirror.ccs.tencentyun.com", "https://docker.1panel.live", "https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com", "https://docker.m.daocloud.io", "https://hub-mirror.c.163.com", "https://mirror.baidubce.com", "https://your_preferred_mirror", "https://dockerhub.icu", "https://docker.registry.cyou", "https://docker-cf.registry.cyou", "https://dockercf.jsdelivr.fyi", "https://docker.jsdelivr.fyi", "https://dockertest.jsdelivr.fyi", "https://mirror.aliyuncs.com", "https://dockerproxy.com", "https://mirror.baidubce.com", "https://docker.m.daocloud.io", "https://docker.nju.edu.cn", "https://docker.mirrors.sjtug.sjtu.edu.cn", "https://docker.mirrors.ustc.edu.cn", "https://mirror.iscas.ac.cn", "https://docker.rainbond.cc" ] }
重启daemon进程
sudo systemctl daemon-reload
重启docker
sudo systemctl restart docker
docker compose up -d
docker compose ps
第二种:下载我打包好的镜像(推荐)
注意:如果已经有镜像需要先删除对应镜像,例如:
docker images
docker rmi langgenius/dify-web:0.15.3
镜像包地址:百度网盘:链接,提取码: 9527
镜像版本信息:langgenius/dify-web 0.15.3 langgenius/dify-api 0.15.3 langgenius/dify-sandbox 0.2.10 postgres 15-alpine node 20-alpine3.20 python 3.12-slim-bookworm redis 6-alpine ubuntu/squid latest semitechnologies/weaviate 1.19.0 nginx latest
将镜像传到离线服务器后,加载镜像:
cd docker_images
docker load -i dify-web.tar
同上加载对应镜像…然后启动服务
docker compose ps
自定义部署web UI
⚠️注意:请务必遵循Dify开源协议。
把自己的项目放到/dify/web/目录下,注意保留源码的Dokerfile文件,然后使用下面命令重新生成镜像:
查看当前镜像: docker images
删除当前镜像:docker rmi langgenius/dify-web:0.15.3
进入需要打包的项目目录:cd dify/web
打包web镜像:docker build -t langgenius/dify-web:0.15.3 .
在dify/docker目录下启动服务:docker compose ps