n8n + Ollama 一体化 docker -compose(本地私有化大模型流水线)

laoluo
laoluo
laoluo
管理员
102
文章
0
粉丝
教程评论3阅读模式

整体说明

  1. 双容器:n8n 自动化工作流 + ollama 本地大模型服务
  2. 互通内网,n8n 可直接调用 http://ollama:11434
  3. 数据持久化:Ollama 模型永久保存、n8n 流程凭证不丢失
  4. 时区上海、关闭数据上报、加密密钥、账号安全配置齐全
  5. 支持拉取 Llama3、Qwen、GLM、Mistral 等任意本地模型

n8n + Ollama 一体化 docker -compose(本地私有化大模型流水线)

1. docker-compose.yml

version: "3.8"

services:
  # 本地大模型 Ollama 服务
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    restart: always
    volumes:
      # 持久化下载的大模型文件
      - ./ollama-models:/root/.ollama
    ports:
      - "11434:11434"
    # 显卡直通(有N卡GPU才开启,CPU机器注释掉这一段)
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
    networks:
      - ai-net

  # n8n 自动化工作流平台
  n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    restart: always
    ports:
      - "5678:5678"
    environment:
      TZ: Asia/Shanghai
      # 域名改成你自己的,反向代理HTTPS再开启secure
      N8N_HOST=127.0.0.1
      N8N_SECURE_COOKIE=false
      N8N_PROTOCOL=http
      N8N_TELEMETRY_ENABLED=false
      # 登录账号密码,自行修改
      N8N_DEFAULT_USER=admin
      N8N_DEFAULT_PASSWORD=Admin@123456
      # 加密密钥,执行 openssl rand -hex 32 生成替换
      N8N_ENCRYPTION_KEY=replace-with-your-random-32-hex-key
      # n8n内直接访问ollama容器地址
      OLLAMA_BASE_URL=http://ollama:11434
    volumes:
      - ./n8n-data:/root/.n8n
      # 本地文件读写目录(可选)
      - ./workspace:/data/workspace
    # 加入统一网络,互通ollama
    networks:
      - ai-net
    depends_on:
      - ollama

# 独立内网网络,两容器互通
networks:
  ai-net:
    driver: bridge

2. 前置操作步骤

① 生成加密密钥(必须替换配置里的字符串)

openssl rand -hex 32

复制输出结果,填入 N8N_ENCRYPTION_KEY

② 创建持久化文件夹

mkdir -p n8n-data workspace ollama-models
chmod 777 n8n-data workspace ollama-models

③ 启动整套服务

docker compose up -d

④ 查看运行日志

# 看ollama日志
docker compose logs -f ollama
# 看n8n日志
docker compose logs -f n8n

3. 拉取本地大模型(两种方式)

方式 1:进入 ollama 容器拉取模型

docker exec -it ollama ollama pull qwen:7b
# 可选模型:llama3:8b、glm4:6b、mistral:7b、qwen:14b

方式 2:n8n 内通过 HTTP 节点拉取

POST 请求地址:http://ollama:11434/api/pull Body:

{
  "name": "qwen:7b"
}

4. n8n 连接 Ollama 配置(两种方案)

方案 A:官方 Ollama 节点(推荐)

  1. 新建节点搜索 Ollama
  2. Credentials 新建凭证
    • Base URL 填写:http://ollama:11434
  3. Model 填入已拉取模型名称:qwen:7b

方案 B:通用 HTTP 节点(自定义深度控制参数)

请求地址:http://ollama:11434/api/chat Method:POST Body 示例:

{
  "model": "qwen:7b",
  "messages": [
    {"role": "user", "content": "{{ $json.query }}"}
  ],
  "stream": false
}

5. 常用自动化工作流示例

  1. 表单提交问题 → Ollama 本地回答 → 推送钉钉 / 飞书
  2. 读取本地文档 → 分段传给 Ollama 总结 → 写入 Notion/Excel
  3. 数据库新增数据 → AI 自动分类打标签 → 回写数据库
  4. 监控文件夹新增文本文件 → 自动生成摘要归档

6. GPU/CPU 切换说明

  • 有 NVIDIA 显卡:保留配置里 deploy: nvidia 段,AI 推理速度大幅提升
  • 纯 CPU 服务器:直接删除 deploy 整块配置,仅 CPU 运行

7. 日常运维命令

# 停止整套服务
docker compose down

# 升级n8n+ollama镜像
docker compose pull && docker compose up -d

# 备份所有数据(模型+工作流)
tar -zcvf ai-backup-$(date +%Y%m%d).tar.gz ./n8n-data ./ollama-models ./workspace

8. 安全提示

  1. 公网部署务必套 Nginx 反向代理 + SSL,修改 N8N_SECURE_COOKIE=trueN8N_PROTOCOL=https
  2. Ollama 默认无鉴权,公网暴露需加 IP 白名单或反向代理密码验证
  3. N8N_ENCRYPTION_KEY 单独备份,丢失会全部 API 凭证失效

 
laoluo
  • 本文由 laoluo 发表于2026年6月23日 07:34:24
  • 转载请务必保留本文链接:https://www.mydata-api.com/tutorials/223.html
匿名

发表评论

匿名网友
确定

拖动滑块以完成验证