Docker部署Dify平台及环境搭建

木偶AI正在绞尽脑汁想思路ING···
木偶のAI摘要
DeepSeek-Chat

一、Dify平台简介

Dify是一款开源的AI助手平台,旨在为用户提供一个便捷的环境来构建和部署AI助手。它支持多种AI模型和框架,具有高度的可扩展性和灵活性。通过Docker部署Dify平台,可以简化安装和配置过程,提高系统的稳定性和可维护性。

Dify平台简介

Dify 是一款开源的大语言模型( LLM ) 应用开发平台。它融合了后端即服务( Backend as Service )和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。

由于 Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API 。这为开发者节省了许多重复造轮子的时间,使其可以专注在创新和业务需求上。

Dify 是开源的,它由一个专业的全职团队和社区共同打造。你可以基于任何模型自部署类似 Assistants API 和 GPTs 的能力,在灵活和安全的基础上,同时保持对数据的完全控制。Dify 一词源自 Define + Modify ,意指定义并且持续的改进你的AI 应用,它是为你而做的( Do it for you )。

二、Docker 安装

AlmaLinux 是一个基于 RHEL 的 Linux 发行版,旨在提供企业级的稳定性和性能。它是 CentOS 的替代品,适用于服务器环境。AlmaLinux 提供了与 RHEL 兼容的软件包和更新,使用户能够轻松迁移和部署应用程序。

为什么选择 AlmaLinux 而不是 CentOS?因为 CentOS 项目已经宣布将不再提供 CentOS Linux 的更新和支持,转而专注于 CentOS Stream,这导致了许多用户和企业寻求替代方案。
AlmaLinux 作为一个社区驱动的项目,承诺提供长期的支持和稳定的更新,使其成为 CentOS 用户的理想选择。

AlmaLinux和CentOS的对比
特性AlmaLinuxCentOS
基于RHELRHEL
维护者社区驱动Red Hat
支持周期长期支持已结束
适用场景企业级服务器企业级服务器
迁移难度N/A
包管理器DNF/YUMYUM

1. Docker安装

解决 `sudo` 恐惧症

在 Linux 系统中,sudo 命令允许用户以超级用户(root)的权限执行命令。对于一些用户来说,频繁使用 sudo 可能会感到不便或不安全。以下是一些解决 sudo 恐惧症的方法:

  1. 创建 docker 组(通常已存在)
    1
    sudo groupadd docker
  2. 将当前用户加入该组
    1
    sudo usermod -aG docker $USER
  3. 刷新组权限(这是关键步骤)
    1
    newgrp docker

按照以下步骤在 AlmaLinux 上安装 Docker:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
sudo dnf remove -y podman buildah		# 卸载系统自带的 Podman 和 Buildah(如果已安装),以避免与 Docker 产生冲突
sudo dnf -y update # 更新系统
sudo dnf install -y dnf-plugins-core # 安装 DNF 插件核心包,以便使用 `dnf config-manager` 命令来管理软件仓库


# 添加 Docker 官方镜像仓库,以便从中安装 Docker 软件包
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf update

# 安装 Docker 相关的软件包,包括 Docker Engine、Docker CLI、Containerd 和 Docker Compose 插件
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 启动 Docker 服务,并设置为开机自启
sudo systemctl enable --now docker

sudo systemctl status docker # 验证 Docker 是否安装成功,并显示 Docker 的版本信息

2. 配置镜像加速

Docker Hub 是 Docker 官方的镜像仓库,提供了大量的 Docker 镜像供用户使用。然而,由于网络限制,访问 Docker Hub 可能会比较慢。为了提高下载速度,可以配置 Docker 镜像加速器。

编辑 Docker 的配置文件 /etc/docker/daemon.json,添加以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
"registry-mirrors": [
"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"
],
"log-driver": "json-file",
"log-opts": { "max-size": "500m", "max-file": "3" }
}

配置完成后,重启 Docker 服务:

1
2
sudo systemctl daemon-reload
sudo systemctl restart docker

验证镜像加速是否配置成功:查看 Docker 的配置信息,确认 Registry Mirrors 中的加速器地址是否生效:

1
sudo docker info

三、Docker Compose 安装

1. 安装 Docker Compose 插件

使用以下命令可以安装最新版本的 Docker Compose 插件:

1
sudo dnf install -y docker-compose-plugin

2. 验证安装

1
docker compose version

3. 手动安装

3.1 从 GitHub 获取最新版本的二进制文件

1
2
3
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com -o $DOCKER_CONFIG/cli-plugins/docker-compose

3.2 赋予执行权限

1
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose

四、 安装 git

1
2
3
4
5
6
# 1-更新软件包索引
sudo dnf makecache
# 2-安装
sudo dnf install -y git
# 3-查看版本
git --version

五、安装 Dify 平台

1. 克隆 Dify 仓库

1
2
cd /usr/local
sudo git clone https://github.com/langgenius/dify.git

2. 复制环境配置文件

1
2
cd /usr/local/dify/docker
cp .env.example .env

3. docker-compose启动

1
2
3
4
5
cd /usr/local/dify/docker
docker compose up -d # 启动DIFY项目(会创建容器)

#docker compose restart # 重启DIFY项目(不会删除容器)
#docker compose down # 停止项目,并删除容器

4. 若有新版本了,可以用下列命令更新

1
2
3
cd dify/docker # 切换到 Dify 项目的 docker 配置目录
sudo dnf update -y docker-compose-plugin # 更新 Docker Compose 插件,以确保使用最新版本的 Docker Compose 功能
docker compose version # 查看当前安装的 Docker Compose 版本,确认更新是否成功

六、访问及配置

1. 访问 Dify 平台

在浏览器中访问 http://localhost:80,你应该能够看到 Dify 平台的登录界面。使用默认的管理员账号和密码登录

Dify 默认端口为 80, 如需要修改可更改 docker/.env中的配置

1
2
3
4
#EXPOSE_NGINX_PORT=80
#改为:
EXPOSE_NGINX_PORT=8090

Dify 平台界面

2. 基本配置

2.1 安装模型

2.2 工具安装