鲲鹏服务器,系统为:openEuler22.03-LTS (aarch64)Dify 安装教程(详细版)

发布于:2025-03-21 ⋅ 阅读:(29) ⋅ 点赞:(0)

1. 环境准备

1.1 系统要求
  • 操作系统:openEuler 22.03 LTS 或更高版本(ARM64架构)。
  • Docker:版本需 >= 20.10。
  • Docker Compose:版本需 >= 1.29.2。
  • Python:3.12 或更高版本(需通过源安装或第三方仓库)。

2. 安装依赖环境

2.1 更新系统
sudo yum clean all
sudo yum makecache
sudo yum update -y
2.2 安装基础工具
sudo yum install -y git curl wget python3.12 python3.12-devel python3-pip
sudo ln -s /usr/bin/python3.12 /usr/bin/python3  # 确保默认 Python3 指向 3.12
2.3 安装编译工具
sudo yum groupinstall "Development Tools" -y
sudo yum install -y libffi-devel openssl-devel

3. 安装 Docker 和 Docker Compose

3.1 安装 Docker
# 添加 Docker 官方仓库(ARM64 支持)
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 替换为国内镜像源(可选,加快下载速度)
sudo sed -i 's/download.docker.com/docker.mirrors.ustc.edu.cn/g' /etc/yum.repos.d/docker-ce.repo

# 安装 Docker CE
sudo yum install -y docker-ce docker-ce-cli containerd.io

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

# 验证安装
docker --version
3.2 安装 Docker Compose
# 下载 Docker Compose(ARM64 版本)
sudo curl -L "https://github.com/docker/compose/releases/download/v2.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 赋予执行权限
sudo chmod +x /usr/local/bin/docker-compose

# 验证安装
docker-compose --version

4. 配置 Docker 加速(可选但推荐)

# 编辑 Docker 配置文件(创建新文件)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://registry.docker-cn.com"
  ]
}
EOF

# 重启 Docker 服务
sudo systemctl daemon-reload
sudo systemctl restart docker

5. 克隆 Dify 仓库

# 进入工作目录
cd ~
git clone https://github.com/langgenius/dify.git
cd dify

6. 配置环境变量

6.1 配置中间件(PostgreSQL、Redis、Weaviate)
# 进入 docker 目录
cd docker

# 复制环境变量模板
cp middleware.env.example middleware.env

# 编辑 middleware.env(设置数据库密码等)
# 示例修改:
# POSTGRES_PASSWORD=your_password
# REDIS_PASSWORD=your_redis_password
6.2 配置 API 环境
# 返回到项目根目录
cd ..

# 复制 API 的环境变量文件
cp api/.env.example api/.env

# 生成随机的 SECRET_KEY(用于 API 安全)
openssl rand -base64 42 | sudo tee -a api/.env
# 或手动执行:
# sed -i "/^SECRET_KEY=/c\SECRET_KEY=$(openssl rand -base64 42)" api/.env

7. 启动 Dify 服务

7.1 启动中间件(PostgreSQL、Redis、Weaviate)
cd docker

# 启动中间件(使用 Weaviate 配置)
docker compose -f docker-compose.middleware.yaml --profile weaviate -p dify up -d

# 验证容器状态
docker ps | grep dify
7.2 启动 Dify 后端和前端
# 返回到项目根目录
cd ..

# 启动所有服务(包括前端、后端)
docker compose -f docker-compose.yaml up -d

8. 访问 Dify

  • 前端页面:通过浏览器访问 http://<服务器IP>:80(默认端口)。
  • 后端 API:访问 http://<服务器IP>:5000(需通过前端界面操作)。

9. 常见问题与解决方案

9.1 Docker 镜像下载失败
  • 问题:部分镜像可能因架构不兼容或网络问题下载失败。
  • 解决
    1. 替换为 ARM 兼容的镜像(如 arm64v8/postgres)。
    2. docker-compose.middleware.yaml 中修改镜像标签:
      services:
        postgres:
          image: arm64v8/postgres:14.5
      
9.2 Python 依赖安装失败
  • 问题poetry install 报错,提示某些包无法编译。
  • 解决
    # 安装编译依赖
    sudo yum install -y python3-devel libffi-devel openssl-devel
    
    # 禁用 keyring(如知识库所述)
    export PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring
    
9.3 端口冲突
  • 解决:修改 docker-compose.yaml 中的端口映射,例如将 80 改为 8080
    services:
      nginx:
        ports:
          - "8080:80"
    

10. 更新与维护

10.1 更新 Dify 到最新版本
# 拉取最新代码
git pull origin main

# 重新构建并启动服务
docker compose down
docker compose up -d
10.2 查看日志
# 查看特定容器日志(如后端 API)
docker logs -f dify_api_1

# 查看所有容器日志
docker logs -f $(docker ps -q)

11. 其他注意事项

  • 权限问题:确保 Docker 组包含当前用户(避免使用 sudo 运行 Docker 命令):
    sudo usermod -aG docker $USER
    exec sudo su - $USER
    
  • 防火墙:开放所需端口(如 805432 等):
    sudo firewall-cmd --permanent --add-port=80/tcp
    sudo firewall-cmd --reload
    

验证安装成功

  1. 访问 http://<服务器IP>,应看到 Dify 的登录界面。
  2. 注册账号并登录,进入 Dify 管理后台。

如果遇到其他问题,可参考以下知识库中的步骤或联系社区支持:

  • 日志排查:检查 docker-compose 日志和 dify 项目目录下的日志文件。
  • 镜像加速:确保 Docker 配置了国内镜像源(如 USTC 或 阿里云)。

希望这能帮助您成功部署 Dify!


网站公告

今日签到

点亮在社区的每一天
去签到