Redis-Cluster + Caddy Caddy+ n8n n8n+ PostgreSQL PostgreSQL+ Grafana Grafana+ Prometheus Prometheus + Docker Compose+ Let's Encrypt

可水平扩展的 n8n 工作流队列与可视化监控告警一体化部署

n8n 工作模式拆为 Web 与 Worker,Redis 做队列调度、Postgres 持久化数据,由 Prometheus 抓取指标并以 Grafana 展示告警

✓ 队列模式支持并行处理高负载✓ 开箱即用监控仪表盘与告警 ✕ 需要额外部署 Redis 与 Postg✕ Worker 数量需手动规划

方案简介

selfhost-ai 提供一个 Docker Compose 一键部署的自托管 AI 自动化平台,其中针对工作流核心 n8n 设计了一套生产级架构:默认以 queue 模式运行 n8n,搭配 Redis 作为任务队列、Postgres 作为数据存储,并由 Prometheus + Grafana 提供可视化监控与告警。该方案面向希望在自有服务器上搭建稳定、可扩展、可观测的 AI 自动化工作流平台的个人开发者与小团队,可在同一栈内同时承载 n8n 的可视化工作流编排与 Ollama、Flowise 等 AI 组件的协作,并通过 Caddy 反向代理统一对外暴露 HTTPS 服务。

亮点与能力

  • 队列化并行执行:n8n 以 queue 模式运行,多个 worker 与 task runner 并行处理工作流
  • 独立数据层:Postgres 负责工作流、凭证、执行历史等持久化数据
  • 高性能任务调度:Redis 作为 broker 管理任务分发与状态
  • 内置可观测性:Grafana + Prometheus 监控栈默认部署
  • n8n 专用仪表盘:可视化工作流执行结果、每个工作流的执行次数、距离上次成功的时间
  • 预置告警规则:对失败与停滞的工作流提供开箱即用的告警
  • Caddy 自动 HTTPS:通过反向代理统一对外暴露 n8n 等服务并自动签发 Let's Encrypt 证书

前置要求

  • 一台 Linux 服务器(推荐拥有至少 4GB 内存与多核 CPU 以运行 worker)
  • 已安装 Docker 与 Docker Compose
  • 一个可解析到服务器的域名(用于 Caddy 申请 HTTPS 证书)
  • 开放 80/443 端口供 Caddy 完成 ACME 质询与证书签发

实施步骤

1. 拉取仓库并准备环境

克隆 selfhost-ai 仓库后进入项目根目录,确保 Docker 与 Docker Compose 已就绪。

2. 启动安装向导

README 中描述该安装器为「Interactive wizard, automatic secrets, zero manual configuration」,通过单命令启动向导:

Interactive wizard, automatic secrets, zero manual configuration

向导弹出后选择启用 n8n、Postgres、Redis、Grafana、Prometheus 等组件,并设置 n8n worker 与 task runner 的数量(README 明确支持 dynamically specify the number of n8n workers and task runners during installation)。

3. 完成域名与凭证配置

向导会自动生成 n8n 的数据库密码、Redis 凭证等敏感信息,并在 Caddy 反代配置中使用你指定的域名,以便 Caddy 自动签发 Let's Encrypt 证书。

4. 启动 Compose 栈

向导完成后启动 docker compose,n8n 会自动以 queue 模式运行:n8n 主进程、Web 进程连接 Postgres 与 Redis,worker 与 task runner 进程并行执行工作流任务。

5. 验证监控栈

确认 Prometheus 已开始抓取 n8n 指标,Grafana 中导入仓库自带的 n8n 仪表盘,查看工作流执行结果、各工作流执行量与「距上次成功时间」等面板。

使用与配置要点

  • 访问 Caddy 配置的域名即可登录 n8n Web 控制台,创建工作流后由 worker 进程并行执行
  • 在 Grafana 中打开 n8n 仪表盘,监控 workflows outcomes、per-workflow volume、time since last success
  • 当工作流失败或长时间无成功执行时,告警规则会自动触发通知
  • 若流量上升,可在安装阶段提高 OLLAMA_INSTANCE_COUNT 类似思路的 worker 数量以横向扩展并行处理能力
  • 配合可选导入的 300+ 社区工作流,可快速搭建自动化场景并由监控栈持续观察运行状况

注意事项与常见问题

  • n8n 默认即 queue 模式,部署时需确保 Redis 与 Postgres 可用,否则工作流无法入队或持久化
  • Worker 与 task runner 数量在安装阶段确定,后续如需调整需修改 Compose 配置后重启
  • Grafana + Prometheus 已包含 ready-made 告警规则,但具体通知渠道(如邮件、Webhook)需自行配置
  • Caddy 自动 HTTPS 依赖 80/443 端口可达,且域名正确解析到服务器

优缺点

  • ✓ 队列模式支持并行处理高负载
  • ✓ 开箱即用监控仪表盘与告警
  • ✕ 需要额外部署 Redis 与 Postg
  • ✕ Worker 数量需手动规划

出处

本方案挖掘自开源项目 kossakovsky/selfhost-ai,方案内容与实施命令均来自其 README 原文。

方案出处
kossakovsky/selfhost-ai:🚀 Self-hosted AI automation platform. Deploy n8n, Ollama, Flowise, RAG, Supabase
925 star 🚀 Self-hosted AI automation platform. Deploy n8n, Ollama, Flowise, RAG, Supabase & 30+ tools with one command. Auto HTTPS. Free Zapier/Make alternative.

本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。