工作流自动化与AI环境栈

一个集成了可视化工作流自动化、本地LLM模型服务和浏览器聊天界面的自托管解决方案,适用于自动化任务处理和AI模型交互。

  • by kthare10
  • Shell
  • 本地部署
  • 更新于
在 GitHub 查看 kthare10/n8n-mcp-agents

使用说明

n8n Ollama WebUI堆栈

该存储库提供了一个完整的自托管工作流自动化和人工智能环境,具有以下特点:

  • n8n –可视化工作流自动化
  • 奥拉马 –本地LLM模型服务器
  • 打开WebUI –用于与Ollama模特聊天的浏览器用户界面
  • PostgreSQL –n8n的持久数据库后端
  • Nginx -TLS终止所有服务的反向代理

所有服务均在上运行 乌班图 使用Docker Compose,并为Ollama提供可选的GPU支持。


目录布局

.
├── docker-compose.yml        # All services: n8n, postgres, ollama, open-webui, nginx
├── nginx/
│   └── default.conf          # Nginx reverse proxy config
├── certs/
│   ├── fullchain.pem         # SSL certificate
│   └── privkey.pem           # SSL private key
├── .env                      # Environment variables
├── db_data/                  # Postgres volume
├── n8n_data/                 # n8n persistent data
├── webui_data/               # Open-WebUI data
└── ollama/                   # Ollama model and config cache

先决条件

  • Ubuntu 22.04+主机
  • Docker引擎+Docker编写插件
  • 公共接口上的IPv4连接(IPv6可能仅用于管理)
  • 有效的TLS证书和密钥 certs/ (或自行签名测试)

快速启动

1.克隆此存储库

git clone https://github.com/<yourname>/n8n-ollama-stack.git
cd n8n-mcp-agents

2.准备环境文件

复制 .env.template → .env 并编辑:

POSTGRES_USER=n8n
POSTGRES_PASSWORD=n8n
POSTGRES_DB=n8n

# Random secret for n8n encryption
N8N_ENCRYPTION_KEY=$(openssl rand -hex 32)

# Timezone and hostname
TZ=America/New_York
N8N_HOST=localhost
WEBHOOK_URL=https://<your-public-hostname>:8443/
MODEL_NAME=llama3

3.启动堆栈

docker compose up -d

第一次启动将提取图像并初始化Postgres和Ollama。


服务端点

服务 端口 描述/URL
Nginx反向代理 443 所有HTTPS流量的入口点
n8n 5678 通过Nginx在 / → https:///或直接http://:5678/
打开WebUI 8080 通过Nginx公开 /webui/ → https:///webui/或直接http://:8080/
Ollama API 11434 通过Nginx暴露于 /ollama/ → https:///奥拉马/
PostgreSQL 5432 仅限本地,由n8n使用

注意:Nginx内部代理 127.0.0.1 (IPv4)。确保您的主机网络首选IPv4(见下文)。


GPU支持(可选)

如果您的主机安装了NVIDIA GPU和驱动程序:

docker compose up -d ollama

这 ollama 服务已经包括:

deploy:
  resources:
    reservations:
      devices:
        - capabilities: [gpu]

因此Docker将自动传递GPU设备(如果可用)。


日志和故障排除

docker compose logs -f nginx
docker compose logs -f n8n
docker compose logs -f open-webui
docker compose logs -f ollama

测试上游可达性:

curl -vk https://<your-host>/ollama/api/tags
curl -vk https://<your-host>/
curl -vk https://<your-host>/webui/

如果 502 Bad Gateway 出现时,请验证:

  • Nginx proxy_pass 用途 127.0.0.1 (不是 localhost)
  • 服务正在监听 0.0.0.0 或 127.0.0.1 端口
  • IPv4首选项(/etc/gai.conf)已应用

停机和清理

docker compose down

要删除卷(擦除Postgres/n8n数据):

docker compose down -v

许可证

麻省理工学院许可证©2025 Komal Thareja