当前位置: 首页 > news >正文

【Dify】CentOS 7 and 8 部署Dify

#!/bin/bash
set -euo pipefail# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'# 日志函数
info() { echo -e "${GREEN}[INFO] $1${NC}"; }
warn() { echo -e "${YELLOW}[WARN] $1${NC}"; }
error() { echo -e "${RED}[ERROR] $1${NC}"; exit 1; }# 1. 系统校验
check_os() {info "校验系统版本..."if ! grep -E "CentOS Linux release 7|CentOS Linux release 8|CentOS Stream" /etc/redhat-release &>/dev/null; thenerror "仅支持 CentOS7/8/Stream 系统"fi
}# 2. root权限校验
check_root() {info "校验执行权限..."if [ "$(id -u)" -ne 0 ]; thenerror "请使用 root 权限执行脚本!"fi
}# 3. 检查并安装 Docker Compose 插件(强校验)
check_docker_compose() {info "检查 Docker Compose 插件..."# 检查插件文件if [ ! -f /usr/libexec/docker/cli-plugins/docker-compose ]; theninfo "未检测到 compose 插件,开始安装..."yum install -y docker-compose-plugin || error "Docker Compose 插件安装失败"fi# 创建软链接(CentOS7 必须)ln -sf /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/docker-composechmod +x /usr/bin/docker-compose# 最终校验命令是否可用if ! docker compose version &>/dev/null; thenerror "Docker Compose 不可用,请检查 Docker 安装"fiinfo "Docker Compose 正常可用 ✅"
}# 4. 安装 Docker
install_docker() {info "安装依赖工具..."yum install -y yum-utils gitinfo "添加阿里云 Docker 源..."yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoinfo "安装 Docker + Compose 插件(完整组件)..."yum install -y docker-ce docker-ce-cli containerd.io \docker-buildx-plugin docker-compose-plugininfo "启动 Docker..."systemctl start dockersystemctl enable docker# 强制校验 composecheck_docker_compose
}# 5. 部署 Dify
deploy_dify() {info "开始部署 Dify..."cd /rootif [ ! -d "dify" ]; thengit clone https://gitee.com/dify_ai/dify.git || error "克隆失败"ficd dify/dockerif [ ! -f ".env" ]; thencp .env.example .envfiinfo "拉取镜像..."docker compose pullinfo "启动服务..."docker compose up -dsleep 3docker compose ps | grep "Up" || error "启动失败"
}# 主流程
main() {check_rootcheck_osif ! command -v docker &>/dev/null; theninstall_dockerelsecheck_docker_composesystemctl start dockerfideploy_difyinfo "======================================"info "部署成功!"info "访问地址:http://$(hostname -I | awk '{print $1}')"info "查看状态:cd /root/dify/docker && docker compose ps"info "======================================"
}main
http://www.jsqmd.com/news/843164/

相关文章:

  • 民族志研究者的秘密武器:NotebookLM多语言田野笔记对齐系统(支持彝语、藏语、维吾尔语OCR+文化语境标注)
  • FPGA在极低温环境下的设计与性能优化
  • 初次使用Taotoken控制台进行API Key管理与审计日志查阅的体验
  • 别再乱设K值了!用sklearn的KFold做交叉验证,这3个参数和5个坑你必须知道
  • NotebookLM文档关联性崩塌预警!(2024Q2最新漏洞通告:多跳引用场景下的相似度衰减模型已失效)
  • HTML结合Leaflet:从零构建无网环境下的离线GIS地图应用
  • 别再死记公式了!图解ROS中tf库如何优雅处理四元数、欧拉角和旋转矩阵
  • 告别XShell!Mac/Win双平台实测:Termius的SSH同步与SFTP传输到底有多香?
  • 避开这些坑!让你的BLE MIDI设备完美兼容Android与iOS(基于AOSP与苹果规范)
  • STM32F103C8T6上移植江协科技MPU6050模板,手把手教你搞定Mahony滤波(附完整代码)
  • Windows Defender 完全卸载指南:系统性能提升30%的深度技术实现方案
  • PEMS-BAY数据集实战:从数据加载到空间可视化的完整指南
  • RK3568开发环境搭建避坑指南:解决SDK编译中buildroot依赖和路径错误的那些事儿
  • 告别硬编码延时!用Vector CAPL定时器实现汽车总线报文精准周期发送
  • 别再乱改电源选项了!Win10下实现‘关屏不锁屏’的终极指南(含组策略方法)
  • Arm SVE指令集详解:条件选择与向量操作优化
  • 别再手动改参数了!用Fluent 2023R1的Parametric模块,5分钟搞定N个工况的批量仿真
  • (二)OpenOFDM频偏校正:从原理到实现的信号修复之旅
  • 全球仅12家主流媒体深度集成NotebookLM进行传播归因分析(附内部评估框架PDF)
  • T100开发实战:如何用azzi903和azzi850搞定自定义按钮的权限与布局?
  • 爱快路由下Mercury AC跨三层寻AP:Option字段实战与避坑指南
  • 简历投了全石沉大海?实测3个免费AI简历神器,HR秒通过、面试翻3倍!
  • 从零构建基于GD32的数字示波器:硬件架构与核心电路解析
  • 2个实测免费的AI简历神器,简历回复率翻3倍,顺利过ATS机筛!
  • 为 OpenClaw 配置 Taotoken 作为 OpenAI 兼容供应商的详细步骤
  • 如何用3步永久保存微信聊天记录?WeChatMsg帮你掌控数字记忆
  • 离子阱量子计算机与SIMD编译优化技术解析
  • GPU缓存架构优化与AI加速器内存技术解析
  • [已解决]ModuleNotFoundError: No module named ‘einops‘:从报错到精通,一文掌握深度学习环境配置与依赖管理
  • 别再为RS485上下拉头疼了!手把手教你搞定RK3568开发板上的ttyS7口(附Qt调试工具源码)