本地 AI 绘图零成本搭建:Next-AI-Drawio + Ollama 私有化部署方案

本文记录一套可直接落地的 Next AI Draw.io + Ollama 本地完整部署方案,这些都运行在自己的Ubuntu26.04系统中。并解决 Docker 容器无法访问宿主机 Ollama、127.0.0.1:11434 端口拒绝、环境变量不生效、硬编码地址报错等所有经典问题,实现纯本地、无外网、私有化 AI 流程图 / 架构图自动生成等。

效果图:(本图使用Deepseek模型生成,要好看些的就得用GPT了)

Next AI Drawio接入deepseek高效绘出流程图

我已全程踩坑、排错、优化,整理出全网最稳唯一可行方案

解决市面上所有教程通病:

  1. host.docker.internal 不生效
  2. OLLAMA 环境变量被镜像硬编码覆盖
  3. Docker 容器无法访问宿主机 11434
  4. 反复报 connect ECONNREFUSED 127.0.0.1:11434

方案优势

  • 完全离线、本地私有化
  • 不用改系统网络、不用改防火墙复杂规则
  • 兼容所有 Linux 发行版
  • 彻底绕过镜像硬编码 bug
  • 稳定常驻、重启不失效

确保程序能正常运行先把防火墙关闭,或才开放相应的端口。

sudo ufw disable

一、安装docker

由于是使用容器,如果你以前安装过社区版的docker.io,执行以下命令时会把社区版的卸载了,再安装这个官方版的。不过请放心,不会删除你的镜像的。

1. 清理旧源 & 安装依赖

sudo rm -f /etc/apt/sources.list.d/docker.list
sudo rm -rf /etc/apt/keyrings/docker*
sudo apt update
sudo apt install -y ca-certificates curl gnupg

2. 添加 Docker 官方 GPG 密钥

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

3. 添加 Docker APT 源

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

4. 安装 Docker + Compose 插件

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

5. 验证

docker compose version
# 输出类似:Docker Compose version v5.1.4

以后使用这两个命令:

docker compose up -d   # 空格,不是横杠
docker compose down


二、安装部署ollama并配置docker-comp

1. 安装 Ollama 并全网监听

curl -fsSL https://ollama.com/install.sh | sh

配置 Ollama 允许 Docker 访问(关键)

把端口开放为所有,不再是使用127.0.0.1,不然容器无法访问到。

sudo systemctl edit ollama.service

写入:

[Service] 
Environment="OLLAMA_HOST=0.0.0.0:11434" 
Environment="OLLAMA_ORIGINS=*" 

生效:

sudo systemctl daemon-reload
sudo systemctl restart ollama

拉取模型:

ollama pull llama3.1:8b

2. 终极稳定部署命令(解决所有 11434 报错)

经过多次测试发现,以下配置正常稳定跑起来。在你的 ~/Documents 新建一个文件,名字叫 docker-compose.yml,内容全部粘贴这个:

swper@Mt:~/Documents$ cat docker-compose.yml 
services:
  drawio-ai:
    image: ghcr.io/dayuanjiang/next-ai-draw-io:latest
    ports:
      - "3001:3000"
    environment:
      - AI_PROVIDER=ollama
      - AI_MODEL=llama3.1:8b
      # 告诉应用去连接宿主机的 Ollama 服务
      - OLLAMA_BASE_URL=http://host.docker.internal:11434/api 
    extra_hosts:
      # 将 host.docker.internal 解析为宿主机的网关 IP
      - "host.docker.internal:host-gateway"
    restart: unless-stopped

3. 然后启动(一条命令)

docker compose up -d     #就是在docker-compose.yml 文件目录下执行

AI 自动连接你的本地 llama3.1:8b

② 查看应用日志无报错

docker logs -f documents-drawio-ai-1           #这是启动时自动生成的一个容器名称

启动后的日志,一般是这样的,在调用API时观察是否有报错。按上面操作正常是没问题的。

swper@Mt:~/Documents$ docker logs -f documents-drawio-ai-1 
▲ Next.js 16.2.6
- Local:         http://localhost:3000
- Network:       http://0.0.0.0:3000
✓ Ready in 0ms
[Langfuse] Environment variables not configured - telemetry disabled

代表部署成功

4. 访问地址

http://localhost:3001

输入:用流程图演示 RAG 的工作原理

即可本地 AI 自动生成专业流程图、架构图、拓扑图。


三、本文解决的所有报错汇总

  1. Cannot connect to API: connect ECONNREFUSED 127.0.0.1:11434

意思是:容器里连不上宿主机的 Ollama(11434)。环境变量 OLLAMA_API_BASE_URL 不生效

原因有两个:

  • Ollama 默认只监听 127.0.0.1,Docker 网段访问不了。
  • 容器里的 127.0.0.1 是容器自己,不是宿主机

使用上面配置:extra_hosts,加入后,就不会再出现这问题了。

  • AI_MODEL environment variable is required
因为你少了这两行环境配置:      
 - AI_PROVIDER=ollama
 - AI_MODEL=llama3.1:8b
  • 孤儿容器、端口占用启动失败

因为关闭的容器卡死没有完全退出,或者不是使用docker compose down命令,这个命令会自动关闭退出容器,释放端口。如果不是请用kill命令结束进程。

  • unexpected status 402 Payment Required: CC Switch local proxy failed while handling Codex endpoint /responses. Provider: DeepSeek; model: deepseek-v4-flash; upstream_status: HTTP 402; cause: Insufficient Balance, url: http://127.0.0.1:15721/v1/responses
这个错误非常明确,核心原因是:
你使用的 DeepSeek 模型(deepseek-v4-flash)账户余额不足(Insufficient Balance),导致代理 / 网关调用接口时返回了 402 Payment Required(支付所需)状态码。

运行Next AI Drawio后可以在右下方中添加不同的配置模型:

Next AI Drawio添加AI模型配置

总结:

这套方案是目前 Next-AI-Drawio + Ollama 本地部署稳定可行方案,绕过所有官方镜像缺陷、硬编码问题、Docker 网络限制,实现纯本地离线 AI 绘图,适合个人开发、笔记绘图、架构设计、RAG 流程演示。由于我本机比较差劲,画个流程图都卡两三分钟,CPU爆500,而且效果真不好看。如果要好看,快速那还得是充钱。

本文首发于 58Linux技术博客,专注Ubuntu桌面使用、Linux服务器运维与网站搭建实战。
       本系列的一部分

ubuntu桌面

Post 112 of 112
PREVIOUS
Ubuntu 26.04选Wayland还是X11?
已是系列最后一篇

发表评论

粤ICP备10052831号 | © 2026 58Linux 技术笔记. All Rights Reserved. | 联系我们 | 关于本站
本站内容开放共享,仅供学习交流 | 专注 Ubuntu & Linux 实战教程
Built with GeneratePress