首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
Next AI Draw.io 如何用 Docker Compose 离线部署内网环境并自托管 draw.io
📅 2026/9/11 17:44:11
✍️ 爱科研究院
👁 阅读 3,247
Next AI Draw.io 如何用 Docker Compose 离线部署内网环境并自托管 draw.io【免费下载链接】next-ai-draw-ioA next.js web application that integrates AI capabilities with draw.io diagrams. This app allows you to create, modify, and enhance diagrams through natural language commands and AI-assisted visualization.项目地址: https://gitcode.com/GitHub_Trending/ne/next-ai-draw-ioNext AI Draw.io 默认通过embed.diagrams.net加载 draw.io 编辑器。当部署目标是无外网的内网环境、或该地址被网络策略屏蔽时浏览器会解析失败文档中记录的现象是提示找不到 embed.diagrams.net 的服务器 IP 地址。官方给出的离线方案是用 Docker Compose 自托管一个jgraph/drawio镜像并通过构建参数让 Next AI Draw.io 指向它。本文按照仓库中 离线部署文档 和根目录 docker-compose.yml 的写法给出从准备到验证的完整操作路径。准备条件一台已安装 Docker 的服务器Docker Compose 随 Docker 提供。克隆项目仓库并把仓库中的 env.example 复制为.env在.env中配置你要用的 AI 提供商。AI_PROVIDER与AI_MODEL是必填项对应的 API Key 按所选提供商填写例如 OpenAI 填OPENAI_API_KEY可选列表和用法见 Docker 运行文档 与 AI 提供商文档。确认部署机的 8080 与 3000 端口未被占用因为 Compose 文件分别将 draw.io 和 Next AI Draw.io 映射到这两个端口。需要提前知道的一个关键约束NEXT_PUBLIC_DRAWIO_BASE_URL是构建时变量会在构建阶段被打进前端 JS 代码运行期改环境变量不生效。也就是说这个值一旦确定后续要改就必须重新构建镜像这一点在 FAQ 中也被特别强调。编写 docker-compose.yml仓库根目录已提供一份可直接参考的 docker-compose.yml离线部署场景下最小配置为services: drawio: image: jgraph/drawio:latest ports: [8080:8080] next-ai-draw-io: build: context: . args: - NEXT_PUBLIC_DRAWIO_BASE_URLhttp://localhost:8080 ports: [3000:3000] env_file: .env depends_on: [drawio]几个字段的作用drawio服务拉取官方 draw.io 镜像并对外暴露 8080 端口它是替代embed.diagrams.net的自托管编辑器。build.context: .表示使用当前仓库目录配合仓库中的 Dockerfile构建 Next AI Draw.io 镜像args中的NEXT_PUBLIC_DRAWIO_BASE_URL就是传给 Dockerfile 构建阶段的 draw.io 地址。env_file: .env让容器读取你在准备阶段配置好的 AI 提供商变量。depends_on: [drawio]保证 draw.io 先于应用启动。仓库现成的 compose 文件还带有一个数据卷- ./data:/app/data用于持久化 admin panel 的设置data/settings.json如果你要启用 admin 面板建议保留这条挂载。NEXT_PUBLIC_DRAWIO_BASE_URL 应该填什么文档中的核心警告是该地址必须是最终用户在浏览器里能访问到的地址因为浏览器会直接去连它加载 draw.io。按部署场景取值场景URL 值本地主机 (Localhost)http://localhost:8080远程/服务器http://YOUR_SERVER_IP:8080替换为部署机的实际 IP不要填 Docker 内部网络别名比如http://drawio:8080——它只在 Compose 内部网络里可解析用户浏览器访问不到会导致画布加载失败。构建并启动在仓库根目录执行docker compose up -d首次执行会先拉取jgraph/drawio:latest再按args指定的NEXT_PUBLIC_DRAWIO_BASE_URL构建应用镜像。构建完成前应用镜像里打包的还是构建参数里的 draw.io 地址之后修改args需要重新构建镜像命令不变Compose 检测到 build 变更时会重建。如果你的目标环境是完全断网的内网文档给出的做法是在可联网的机器上修改 Dockerfile 相关参数、把镜像构建出来然后把镜像以及仓库文件传输到内网机器上再在内网执行同样的 Compose 流程。这一步依赖内网机器已具备 Docker 环境。验证部署结果启动后打开http://localhost:3000远程部署则用http://服务器IP:3000页面能正常加载说明 Next AI Draw.io 应用本身起来了。关键验证点在于画布进入页面发起一次画图draw.io 编辑器应从自托管的 8080 端口加载而不是尝试访问embed.diagrams.net。如果仍然出现解析embed.diagrams.net失败的现象检查两点args里的值是否是浏览器可访问的地址、修改args后镜像是否已重新构建。限制与边界构建时变量约束NEXT_PUBLIC_DRAWIO_BASE_URL改值 重新构建镜像运行期env_file里的同名变量无法覆盖它。远程访问时 URL 里必须写浏览器可达的服务器 IPDocker 服务别名不可用。AI 提供商的配置.env与 draw.io 自托管是两条独立的线离线解决的是编辑器加载问题模型调用仍然依赖你在.env中配置的提供商能否从服务器访问到文档对离线方案只覆盖前者。更多配置项子目录部署、NEXT_PUBLIC_BASE_PATH等可在仓库 docker-compose.yml 的注释中查看在线部署方式与离线方式的区别见 Docker 文档。【免费下载链接】next-ai-draw-ioA next.js web application that integrates AI capabilities with draw.io diagrams. This app allows you to create, modify, and enhance diagrams through natural language commands and AI-assisted visualization.项目地址: https://gitcode.com/GitHub_Trending/ne/next-ai-draw-io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/9/11 17:44:11
高校技术成果数字化推广的实践与策略
2026/9/11 17:39:11
TradingAgents-CN 线程池异步事件循环错误修复实战:RuntimeError “There is no current event loop in thread“ 的根因与解决方案
2026/9/11 17:39:11
ANC系统中卡尔曼滤波为何是动态噪声抑制的收敛保障
2026/9/11 18:49:25
Flowable低代码引擎源码解析与Spring Boot集成实战
2026/9/11 18:49:25
Spring MVC+MySQL快递管理系统开发:表设计、状态流转与部署实践
2026/9/11 18:49:25
Java线程顺序控制:join、CountDownLatch与CompletableFuture实战
2026/9/11 18:49:25
Windkessel模型参数估计:MATLAB时域与频域实现对比
2026/9/11 18:49:25
PCSX2 性能调优实战:3 组配置让 PS2 游戏从 30 帧跑到 60 帧
2026/9/11 18:44:23
如何设计一个高并发点赞系统?从 Redis、MQ、幂等到最终一致性
2026/9/11 0:02:03
数据容灾核心指标与实战方案解析
2026/9/11 0:02:03
Huly 平台 ClickUp 任务导入实战指南:从 CSV 导出到一键迁移全流程解析
2026/9/11 0:02:03
PyTorch 构建与代码生成工具链深度解析:从 tools 目录看懂构建流程、autograd/JIT 代码生成与 HIPify 移植
2026/9/11 5:40:15
超人会飞不算本事:系统稳定依赖清晰规则与边界设计
2026/9/11 8:29:24
超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论
2026/9/11 9:11:20
基于CNN的调制信号识别:MATLAB实现时频图分类实战