境内部署DIfy(上篇)
背景:
由于近2年大模型的火热催生出很多业务场景,这也迫使我们这些老一辈的程序搬运工去接触新事物,“工欲善其事必先利其器”,先从大模型应用开始摸索,网上大把工具,再三思考后决定先从Dify开始,因为其最简单,资料最全。但由于外界环境的变化(不知什么原因,境外官方镜像源已经被封,无法拉取)导致网上很多资料都已经过时,无法照猫画虎,经过一系列的折腾后总结了这篇文章,作为给自己的笔记。
材料:
1、虚拟机安装centos7.x,内存8G,2个CPU,网络采用默认即可
2、更新或安装(建议安装,以免更新过程中影响到系统其它程序)python3.x,(可以参考我的上篇文章:centos7 部署 Ollama,过程及遇到的问题(上篇)-CSDN博客)
3、安装git
yum install git -y
4、Docker及Docker-compose(新版本无需安装,在Docker安装过程中已默认安装compose 插件,只是要注意使用默认的docker compose 不能在二者中间添加-,而是要用空格)
docker-compose --version 对应内嵌版本: docker compose --version
docker-compose ps -a 对应内嵌版本: docker compose ps -a
docker-compose up -d 对应内嵌版本:docker compose up -d
... ... 依次类推
5、安装新版本Docker(首次安装)
a、安装基础环境工具包
sudo yum install -y yum-utils
b、设置阿里的镜像源(如果不能成功,多试几次)
sudo yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
c、安装 Docker Engine-Community(这样默认安装最新版本)
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
d、启动Docker(默认安装后是未启动的)
systemctl start docker
e、测试安装情况
docker --version
f、设置开机自启动
systemctl enable docker
制作:
1、下载dify 源码(非全量源码)
#下载最新版本(截止发稿为dify:0.11.0)
git clone https://github.com/langgenius/dify.git
#下载指定的版本使用下列命令完成(https://github.com/langgenius/dify/tree/main 下切换Tags)
git clone --branch 0.10.2 https://github.com/langgenius/dify.git
2、启动dify(国内目前应该无法直接启动拉取到镜像,包括设置了阿里、清华等镜像源都不行)
# 通过 pwd 查看自己所处目录,并切换到dify项目所在目录(如:/home/dify/..)
cd dify
cd docker
cp .env.example .env
docker compose up -d
3、上面步揍启动不能成功后,我们可以通过以下2种方案进行处理。
方案一:
a、配置多个可能的镜像源(目前如下几个源一起配置是有效的)
{
"registry-mirrors": [
"https://docker.1panel.live",
"https://docker.nju.edu.cn",
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com",
"https://registry.cn-hangzhou.aliyuncs.com"
]
}
b、使用root权限 vi /etc/docker/daemon.json 创建daemon.json 文件并将上面的源贴到该文件中,后执行如下命令即可(如果无法重启 docker,那一定是这个配置文件某个地方格式或内容错了,修改后继续即可)
#重置配置
systemctl daemon-reload
#重启docker
systemctl restart docker
#测试启动是否成功
docker --version
c、正常情况下可以成功拉取镜像了(速度有点慢,本人使用了约6个小时才下载完成,中途出现超时,可重复执行)
cd dify
cd docker
cp .env.example .env
docker compose up -d
如果成功会看到如下:
d、安装成功,可以在浏览器中访问了(默认是80端口)
方案二:
看本文中篇