【dify】本地dify部署(在Linux环境下搭建Dify)-步步踩坑
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,无需云服务器!
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)