dify官方地址:dify官方文档
因为直接访问可能会网速很慢,所以搭建本地dify,在linux上搭建
git包地址:git代码包地址,可独立运行
在这里插入图片描述
在这里插入图片描述

第一步:在linux上下载 dify的包

如果不注重版本,可以直接拉最新的
git clone https://github.com/langgenius/dify.git
假设当前最新版本为 0.15.3
git clone https://github.com/langgenius/dify.git --branch 0.15.3

第二步:下载好后,env环境变量设置,因为dify是个docker镜像包,可以独立运行的,但是它的包名是.env,我下载的时候默认只有middleware.env.example,这是个式例文件,并不是真实的配置文件,所以实际运行的包名是.env文件,但是是个隐藏的文件,这是坑!!!

cd dify/docker
cp .env.example .env

ls并没有,因为隐藏,得用ls -la
在这里插入图片描述
在这里插入图片描述

第三步:如何配置env文件,这个很重要,不然后面dify部署会报插件不存在和网络连不上
密码需要和docker-compose.yaml文件的一致,所以env的这些配置需要从docker-compose.yaml文件找

# ===== 数据库配置 =====
DB_USERNAME=postgres
DB_PASSWORD=difyai123456
DB_DATABASE=dify
DB_HOST=db
DB_PORT=5432
DB_PLUGIN_DATABASE=dify_plugin

# ===== 应用安全配置 =====
SECRET_KEY=9*****************************JLK7U

# ===== Redis 配置 =====
REDIS_PASSWORD=difyai123456

# ===== Web 服务配置 =====
NGINX_HTTP_PORT=8080

docker-compose.yaml对应的上述密码,你的需要找你自己的文件

数据库的
在这里插入图片描述

redis的
在这里插入图片描述

SECRET_KEY的
在这里插入图片描述

第四步:打开国内镜像源,不然也访问不了
dify下面有docker,这个是独立运行的环境,和系统的docker不一样,你需要修改系统docker的镜像源

在这里插入图片描述
cd /etc/docker
在这里插入图片描述

{
    "registry-mirrors": [
        "https://docker-0.unsee.tech",
        "https://docker.1ms.run",
        "https://docker.xuanyuan.me"
    ]
}

最后一步启动dify环境

docker compose up -d

在这里插入图片描述

默认端口80,如果修改就找

===== Web 服务配置 =====
NGINX_HTTP_PORT=8080

实际官方文档说的也清楚
在这里插入图片描述
输入地址,http://10.80.2.195:80/install
先注册账号登录
在这里插入图片描述

在这里插入图片描述

运行起来后,需要设置模型供应商,从市场下载对应的模型,就是拿对应的api key设置进去,方便后续搭建agent智能体,这个apikey我用的是免费的
在这里插入图片描述
在这里插入图片描述

自己编排一个智能体
在这里插入图片描述

如果遇到安装问题可以问deepseek等,我就是踩了很多坑
查看运行报错日志
使用 Docker Compose 部署(最常见)
在 docker-compose.yml 文件所在的目录下,运行以下命令来查看所有服务的实时日志:

docker-compose logs -f

或者只查看 api 服务的日志(问题通常出在这里):

docker-compose logs -f api

拓展

上面在本地Docker中成功部署了Dify服务,并局域网访问成功,下面我们在Linux安装Cpolar内网穿透工具,通过Cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤

 cpolar官网地址: https://www.cpolar.com

使用一键脚本安装命令,在linux下执行如下命令

curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

安装完成后,可以通过如下方式来操作cpolar服务,首先执行加入系统服务设置开机启动,然后再启动服务

# 加入系统服务设置开机启动
sudo systemctl enable cpolar

# 启动cpolar服务
sudo systemctl start cpolar

# 重启cpolar服务
sudo systemctl restart cpolar

# 查看cpolar服务状态
sudo systemctl status cpolar

# 停止cpolar服务
sudo systemctl stop cpolar

Cpolar安装和成功启动服务后,内部或外部浏览器上通过局域网IP加9200端口即:【http://192.168.xxx.xxx:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可
在这里插入图片描述

配置公网地址
点击左侧仪表盘的隧道管理——创建隧道,创建一个dify的公网http地址隧道!

隧道名称:可自定义命名,注意不要与已有的隧道名称重复
协议:选择http
本地地址:80 (docker部署后对外访问的端口)
域名类型:免费选择随机域名
地区:选择China
在这里插入图片描述
隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https,两种都可以访问,下面选择其中一种进行远程访问
在这里插入图片描述

远程访问
使用上面Cpolar生成的 https公网地址,在任意设备的浏览器进行访问,即可成功看到我们dify的界面,极大的缩小了云服务器那些繁琐的配置,简单几步即可实现无需云服务器,无需公网IP实现远程访问.

在这里插入图片描述
为了更好地演示,我们在前述过程中使用了cpolar生成的隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不太容易记忆(例如:3ad5da5.r10.cpolar.top)。另外,这个地址在24小时内会发生随机变化,更适合于临时使用。

我一般会使用固定二级子域名,原因是我希望将网址发送给同事或客户时,它是一个固定、易记的公网地址(例如:dify.cpolar.cn),这样更显正式,便于流交协作。

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称
在这里插入图片描述
保留成功后复制保留成功的二级子域名的名称在这里插入图片描述
返回登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑在这里插入图片描述
修改隧道信息,将保留成功的二级子域名配置到隧道中

域名类型:选择二级子域名
Sub Domain:填写保留成功的二级子域名
点击更新(注意,点击一次更新即可,不需要重复提交)

在这里插入图片描述
更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址二级名称变成了我们自己设置的二级子域名名称在这里插入图片描述

固定地址访问
最后,我们使用固定的公网https地址访问,可以看到同样访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以在公网环境远程访问本地dify服务,无需公网IP,无需云服务器!在这里插入图片描述

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐