Dify社区版私有化部署

概要

Dify作为一个轻量级框架,是在经过anythingllm、RAGFlow等部署后验证发现

  1. git版本更新迭代快,功能全面
  2. 主流大模型接入,插件市场丰富
  3. 工作流编排, 知识库api适合满足个人、企业的定制化需求

环境准备

本方案仅限于linux环境,要求centos8,内存、存储、cpu最好大一些,建议内存16G,CPU4核,存储1TB,其他linux环境均可,都是docker-compose运行,差异不大,如果需要公网访问,那就要涉及到域名,公网ip,ssl证书,有需要的可以联系我

部署过程

  1. docker和coker compose都装好,我这里版本是
[root@localhost server]# docker -v
Docker version 25.0.3, build 4debf41
[root@localhost server]# docker-compose -v
Docker Compose version v2.20.0
  1. 在本地找一个磁盘大的目录,比如/home/dify, 克隆 Dify 源代码至本地环境,直接拉取最新的,会避免很多坑
git clone https://github.com/langgenius/dify.git

后续版本更新,可以先停服务,再拉取,第一次部署,可以跳过

##这里是我当前本地环境
cd /home/dify/dify/docker
docker-compose down && docker-compose up -d

版本拉取,比如要更新版本到1.7.1

cd /home/dify/dify
git pull origin 1.7.1
  1. 修改配置文件,将.env.example文件复制为.env, 若没有,说明目录不对,或者没有下载全
cd /home/dify/dify/docker
cp .env.example .env

基本上不要改,如果要配置ollama,就要在末尾追加,只在dify页面配置无效,很坑

# 启用自定义模型
CUSTOM_MODEL_ENABLED=true
# 指定 Olama 的 API地址(根据部署环境调整IP)
OLLAMA_API_BASE_URL=xxx.xx.xx.xx:11434

  1. 修改docker-compose配置文件,找到docker-compose-template.yaml,复制为docker-compose.yaml
cd /home/dify/dify/docker
cp docker-compose-template.yaml docker-compose.yaml

里面基本上不用改,如果涉及公网和ssl证书,就要修改了,里面坑也多
7. 启动docker容器,这里都是用docker-compose

docker-compose up -d

启动完检查一下,我这里版本是1.7.1,至少如下必须是健康的,否则就要docker logs 容器id或者名称,看报错,然后百度错误了

[root@localhost docker]# docker ps -a
CONTAINER ID   IMAGE                                             COMMAND                   CREATED        STATUS                    PORTS                                                                                                                               NAMES
2bae5ee508ba   nginx:latest                                      "sh -c 'cp /docker-e…"   11 days ago    Up 11 days                0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp                                                            docker-nginx-1
b53ca3b4a938   langgenius/dify-api:1.7.1                         "/bin/bash /entrypoi…"   11 days ago    Up 11 days                5001/tcp                                                                                                                            docker-worker_beat-1
687590d3d08c   langgenius/dify-api:1.7.1                         "/bin/bash /entrypoi…"   11 days ago    Up 11 days                5001/tcp                                                                                                                            docker-worker-1
e1431b027df1   langgenius/dify-api:1.7.1                         "/bin/bash /entrypoi…"   11 days ago    Up 11 days                5001/tcp                                                                                                                            docker-api-1
d399d4c16356   langgenius/dify-plugin-daemon:0.2.0-local         "/bin/bash -c /app/e…"   11 days ago    Up 11 days                0.0.0.0:5003->5003/tcp, :::5003->5003/tcp                                                                                           docker-plugin_daemon-1
27baa2d3452e   langgenius/dify-sandbox:0.2.12                    "/main"                   11 days ago    Up 11 days (healthy)                                                                                                                                          docker-sandbox-1
daf0c0add3e1   semitechnologies/weaviate:1.19.0                  "/bin/weaviate --hos…"   11 days ago    Up 11 days                                                                                                                                                    docker-weaviate-1
ee9325ea63bc   langgenius/dify-web:1.7.1                         "/bin/sh ./entrypoin…"   11 days ago    Up 11 days                3000/tcp                 
  1. 停止docker容器
docker-compose down
  1. 访问dify,默认是80端口,如果要改,一般是修改docker-compose.yaml里面参数
# 本地环境
http://localhost

# 服务器环境
http://your_server_ip

第一次直接注册一个账号即可,若出现密码忘记,执行如下命令

#Dify密码重置流程(适用于管理员或本地部署)
docker exec -it docker-api-1 flask reset-password

小结

1. 部署较简单,主要注意 .env.example、docker-compose-template.yaml 这两个文件记住改一下名字即可
2. 版本拉取后,可能.env.example、docker-compose-template.yaml内容有变化,记得同步更新到 .env和docker-compose.yaml,不要覆盖

PS:后续还会出一篇dify使用的文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瑞瑞绮绮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值