什么是 N8N?
N8N 是一款开源工作流自动化工具,允许你将不同的应用程序和服务连接在一起。它是 Zapier 或 Make 等工具的开源替代品。
部署变体
在 Coolify 中,N8N 提供三种部署配置:
n8n(默认)
- 数据库: SQLite(嵌入式)
- 使用场景: 简单部署、测试或低流量工作流
- 组件: 单个带有内置 SQLite 数据库的 n8n 容器
带 PostgreSQL 的 n8n
- 数据库: PostgreSQL(外部)
- 使用场景: 需要更好性能、可扩展性和数据持久性的生产部署
- 组件:
- n8n 容器
- PostgreSQL 16 容器
- 自动数据库配置和健康检查
带 PostgreSQL 和 Worker 的 n8n
- 数据库: PostgreSQL + Redis
- 使用场景: 具有基于队列的执行和并行工作流处理的高流量生产部署
- 组件:
- n8n 主容器
- 用于分布式执行的 n8n-worker 容器
- PostgreSQL 16 容器
- 用于队列管理的 Redis 容器
- 自动数据库配置和健康检查
截图
使用自定义依赖项扩展 n8n
要使用自定义依赖项扩展 n8n,你可以按照下面的示例将它们添加到你的 Dockerfile 中:
...
RUN apk add --no-cache ffmpeg
...示例 Dockerfile
FROM n8nio/n8n:latest
# 切换到 root 用户以安装软件包并修改系统目录
USER root
# 使用 apk 安装必要的系统软件包
# build-base、python3-dev、geoip-dev 用于潜在的原生依赖项
# wget 用于下载,git 用于源代码控制(Go 可能需要),bash(有用的 shell)
RUN apk update && \
apk add --no-cache \
wget \
ffmpeg
ENV N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
ENV N8N_PORT=5678
ENV N8N_PROTOCOL=https
ENV NODE_ENV=production
ENV WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
# 切换回 n8n 运行的非 root 用户(通常是 'node')
USER node