
!https://raw.githubusercontent.com/n8n-io/n8n/master/assets/n8n-logo.png
n8n是一款免费开源的fair-code分布式节点式工作流自动化工具。它支持自托管,可轻松扩展,也适用于内部工具。
https://raw.githubusercontent.com/n8n-io/n8n/master/assets/n8n-screenshot.png
:tv: 简短演示(<3分钟)展示如何创建一个简单工作流,当Github仓库获得或失去星标时自动发送Slack通知。
n8n拥有200+不同节点用于自动化工作流。完整列表可在以下地址查看:[***]
n8n官方文档地址:[***]
n8n.io网站上的额外信息和示例工作流:[***]
bashdocker run -it --rm \ --name n8n \ -p 5678:5678 \ -v ~/.n8n:/home/node/.n8n \ n8nio/n8n
启动后可通过以下地址访问n8n: http://localhost:5678
警告:仅用于本地开发和测试,不应在生产环境中使用!
要使用Webhook(如Github等外部服务触发器所依赖的),n8n必须可从网络访问。n8n提供特殊隧道服务(使用此代码:https://github.com/localtunnel/localtunnel%EF%BC%89%EF%BC%8C%E5%8F%AF%E5%B0%86%E8%AF%B7%E6%B1%82%E4%BB%8En8n%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%87%8D%E5%AE%9A%E5%90%91%E5%88%B0%E6%9C%AC%E5%9C%B0n8n%E5%AE%9E%E4%BE%8B%E3%80%82
只需使用--tunnel参数启动n8n:
bashdocker run -it --rm \ --name n8n \ -p 5678:5678 \ -v ~/.n8n:/home/node/.n8n \ n8nio/n8n \ n8n start --tunnel
默认情况下,任何人都可访问n8n。如果仅在本地运行则无需担心,但如果部署在可从网络访问的服务器上,必须确保n8n受到保护!目前n8n通过基本认证提供基础保护,可通过设置以下环境变量启用:
bashN8N_BASIC_AUTH_ACTIVE=true N8N_BASIC_AUTH_USER=<用户> N8N_BASIC_AUTH_PASSWORD=<密码>
工作流数据默认保存在用户文件夹(/home/node/.n8n)中的SQLite数据库中。该文件夹还包含Webhook URL和加密密钥等设置。
bashdocker run -it --rm \ --name n8n \ -p 5678:5678 \ -v ~/.n8n:/home/node/.n8n \ n8nio/n8n
默认情况下,n8n使用SQLite存储凭据、执行历史和工作流。n8n还支持PostgresDB、MySQL和MariaDB,只需设置相应环境变量即可。
仍需持久化/root/.n8n文件夹中的数据,因为其中包含n8n用户数据(如Webhook名称和凭据加密密钥)。如果未找到加密密钥,n8n会在启动时自动创建。若凭据使用不同加密密钥保存,则无法再使用。
使用PostgresDB
将以下占位符替换为实际数据:
bashdocker run -it --rm \ --name n8n \ -p 5678:5678 \ -e DB_TYPE=postgresdb \ -e DB_POSTGRESDB_DATABASE=<POSTGRES_DATABASE> \ -e DB_POSTGRESDB_HOST=<POSTGRES_HOST> \ -e DB_POSTGRESDB_PORT=<POSTGRES_PORT> \ -e DB_POSTGRESDB_USER=<POSTGRES_USER> \ -e DB_POSTGRESDB_SCHEMA=<POSTGRES_SCHEMA> \ -e DB_POSTGRESDB_PASSWORD=<POSTGRES_PASSWORD> \ -v ~/.n8n:/home/node/.n8n \ n8nio/n8n \ n8n start
完整的docker-compose设置示例可在https://github.com/n8n-io/n8n/blob/master/docker/compose/withPostgres/README.md%E6%89%BE%E5%88%B0%E3%80%82
使用MySQL
将以下占位符替换为实际数据:
bashdocker run -it --rm \ --name n8n \ -p 5678:5678 \ -e DB_TYPE=mysqldb \ -e DB_MYSQLDB_DATABASE=<MYSQLDB_DATABASE> \ -e DB_MYSQLDB_HOST=<MYSQLDB_HOST> \ -e DB_MYSQLDB_PORT=<MYSQLDB_PORT> \ -e DB_MYSQLDB_USER=<MYSQLDB_USER> \ -e DB_MYSQLDB_PASSWORD=<MYSQLDB_PASSWORD> \ -v ~/.n8n:/home/node/.n8n \ n8nio/n8n \ n8n start
为避免通过环境变量传递敏感信息,可在部分环境变量后附加"_FILE",n8n将从指定文件加载数据。这便于从Docker和Kubernetes Secrets加载数据。
支持文件输入的环境变量:
使用docker-compose和Let's Encrypt的n8n基础分步设置示例可在服务器设置页面找到。
bash# 从dockerhub拉取最新版本 docker pull n8nio/n8n # 停止当前设置 sudo docker-compose stop # 删除容器(仅删除容器,数据单独存储) sudo docker-compose rm # 重新启动 sudo docker-compose up -d
可通过环境变量GENERIC_TIMEZONE定义n8n使用的时区(如Cron节点)。此外,可通过环境变量TZ单独设置系统时区,控制$ date等命令的返回值。
示例:同时设置两者为同一时区
bashdocker run -it --rm \ --name n8n \ -p 5678:5678 \ -e GENERIC_TIMEZONE="Europe/Berlin" \ -e TZ="Europe/Berlin" \ n8nio/n8n
bashdocker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 --build-arg N8N_VERSION=<版本> -t n8nio/n8n:<版本> . # 例如: docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 --build-arg N8N_VERSION=0.114.0 -t n8nio/n8n:0.114.0 .
简短回答:意为"nodemation",发音为n-eight-n。
详细回答:在为项目寻找合适名称和可用域名时,我发现想到的好名字都已被占用。最终选择"nodemation":"node-"表示使用节点视图和Node.js,"-mation"表示"自动化"。但全名过长,不适合在CLI中频繁输入,因此使用"n8n"(类似Kubernetes简称k8s)。
如有问题或疑问,请访问论坛获取帮助:
[***]
如对为n8n工作并塑造项目未来感兴趣,请查看我们的招聘信息
升级到最新版本前,请查看是否有影响您的重大变更: https://github.com/n8n-io/n8n/blob/master/packages/cli/BREAKING-CHANGES.md
n8n采用fair-code协议,基于https://github.com/n8n-io/n8n/blob/master/packages/cli/LICENSE.md%E8%AE%B8%E5%8F%AF%E8%AF%81%E5%88%86%E5%8F%91%E3%80%82
有关许可证的更多信息可在常见问题中找到。



探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务