从互联网电脑迁移Dify到内网部署Dify方法记录

发布于:2025-07-10 ⋅ 阅读:(32) ⋅ 点赞:(0)

一、在互联网电脑上准备迁移文件

1. 保存 Docker 镜像
# 获取所有 Dify 相关镜像(根据实际容器名调整)
docker ps --filter "name=dify" --format "{{.Image}}" | sort -u > dify-images.list

# 保存镜像为 .tar 文件
docker save $(cat dify-images.list) -o dify-images.tar
2. 备份数据卷or直接复制路径

        (1)备份数据卷

# 查找 Dify 使用的数据卷(通常包含 postgres、redis 等)
docker volume ls --filter "name=dify" -q > dify-volumes.list

# 备份每个卷数据
for volume in $(cat dify-volumes.list); do
  docker run --rm -v $volume:/source alpine tar -czf /tmp/$volume.tar.gz -C /source .
  mv /tmp/$volume.tar.gz .
done

        (2).直接复制路径文件

                因为是依据代码启动的,按照原路径放到内网电脑即可。

 

二、将文件传输到离线电脑

  • 将以下文件通过 U 盘/硬盘复制到离线电脑:

    • dify-images.tar(Docker 镜像包)

    • dify-volumes.list(卷列表or原路径

    • *.tar.gz(所有卷备份文件)

    • docker-compose.yml 和 .env(配置文件)


三、在离线电脑上恢复环境

1. 加载 Docker 镜像
docker load -i dify-images.tar
2. 创建并恢复数据卷
# 创建空白数据卷
for volume in $(cat dify-volumes.list); do
  docker volume create $volume
done

# 恢复卷数据
for volume in $(cat dify-volumes.list); do
  docker run --rm -v $volume:/target -v $(pwd):/backup alpine \
    sh -c "rm -rf /target/* && tar -xzf /backup/$volume.tar.gz -C /target"
done
3. 修改配置文件
  • 编辑 .env 文件:

    • 确保 OPENAI_API_KEY 等依赖互联网的配置为空或替换为离线模型(如本地部署的 LLM)。

    • 关闭无法离线使用的功能(如邮箱服务)。

4. 启动 Dify
# 在 docker-compose.yml 目录执行
docker compose up -d

四、验证离线部署

  1. 检查容器状态

    docker compose ps
    • 确保所有容器状态为 Up

  2. 访问 Dify

    • 浏览器打开 http://离线电脑IP:80

    • 确认能正常登录且无网络错误。


网站公告

今日签到

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