必须本地化部署dify私有ai工作台:安装指定版本docker及compose,创建专用用户并授权,关闭networkmanager与firewalld;通过离线包或手动导入镜像;修改.env配置api_url、secret_key、向量库及禁用oauth2;最后以专用用户启动服务并验证健康状态与初始化。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在企业内网环境中搭建一个完全可控、数据不出域的私有AI工作台,必须绕过所有云端依赖,从镜像分发、服务编排到权限隔离全部本地化落地。
准备离线运行环境
在断网前提下,先确认宿主机已安装 Docker 20.10+ 和 Docker Compose v2.20+,不支持旧版 docker-compose(v1);若未安装,需提前在有网机器下载 static 二进制包并拷贝入内网。
创建专用系统用户:useradd -m -s /bin/bash difydeploy,并赋予其免密执行 /usr/bin/docker 权限——【这一步不可跳过,否则后续启动服务时 worker 容器会因权限不足无法挂载日志卷】。
关闭 NetworkManager 和 firewalld:systemctl mask NetworkManager && systemctl disable --now firewalld。内网环境无需动态网络管理,残留服务可能干扰容器网络初始化。
获取并校验Dify离线组件
方法一:使用预构建离线包(推荐)
从 Dify 官方 GitHub Release 页面下载最新 stable 版本的 dify-offline-bundle-v1.1.3.tar.gz(截至2026年7月,最新为 v1.1.3),该包已包含全部镜像、compose 文件、证书模板及向量数据库二进制。
方法二:手动拉取+保存(仅限有临时外网通道时)
在可联网机器执行:docker pull ghcr.io/langgenius/dify-api:1.1.3 → docker pull ghcr.io/langgenius/dify-worker:1.1.3 → docker pull postgres:15-alpine → docker pull qdrant/qdrant:1.9.2 → docker save ... -o dify-images.tar,再将 tar 包导入内网节点:docker load -i dify-images.tar。
导入后运行 docker images | grep dify 确认四镜像存在且 tag 一致;若出现 <none></none> tag,说明 load 过程中某镜像层损坏,需重传。
配置私有化参数
解压离线包后进入 docker/ 目录,用编辑器打开 .env 文件:
① 将 API_URL=http://localhost:5001 改为实际访问地址,如内网统一入口为 https://ai-workbench.corp.local;【此项决定前端资源加载路径,填错会导致页面白屏或 API 404】。
② 设置 SECRET_KEY:运行 openssl rand -base64 48 生成强随机字符串并替换原值,不可留空或使用默认值。
③ 若启用 RAG,修改 VECTOR_DATABASE=QDRANT 并确保 QDRANT_URI=http://qdrant:6333(容器内网地址);不改则默认使用 PostgreSQL 内嵌向量能力,性能受限。
④ 关闭外部认证:ENABLE_OAUTH2=false,改用内置 RBAC;企业内网不建议对接 GitHub/OIDC 等第三方登录。
启动与验证服务
执行 sudo -u difydeploy docker compose up -d 启动全部服务。等待约 90 秒后,运行 docker compose ps 查看状态——所有服务应显示 Up (healthy),特别注意 worker 和 api 不能是 Restarting。
检查关键端口连通性:curl -I http://localhost:5001/health 应返回 HTTP 200;若超时,用 docker logs dify-api-1 查看是否卡在数据库连接或 Redis 认证环节。
浏览器访问配置的 API_URL 地址,首次加载会自动跳转至初始化向导页;输入管理员邮箱与密码完成首账号注册——【该账号拥有最高权限,密码强度需含大小写字母+数字+符号,且不可重复使用历史密码】。











