本指南提供 n8n 企业版和社区版的完整部署教程。社区版完全免费,企业版需要付费。
n8n 自托管需要以下技术知识:
n8n 推荐有经验的用户进行自托管。配置错误可能导致数据丢失、安全问题和停机。如果您没有服务器管理经验,建议使用 n8n Cloud 云托管服务。
n8n 提供多种安装方式,您可以选择最适合您的方案:
推荐使用 Docker 进行部署。它提供干净的隔离环境,避免操作系统和工具兼容性问题,简化数据库和环境管理。
使用 npm 直接在系统中安装 n8n,适合熟悉 Node.js 环境的开发者。
首先确保您已经安装了 Docker。您可以从 Docker 官网下载 Docker Desktop(支持 Mac、Windows 和 Linux)。
# 验证 Docker 是否已安装
docker --version使用以下命令创建数据卷并启动 n8n 容器:
docker volume create n8n_data
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-e GENERIC_TIMEZONE="Asia/Shanghai" \
-e TZ="Asia/Shanghai" \
-e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \
-e N8N_RUNNERS_ENABLED=true \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8n注意: 将时区 Asia/Shanghai 替换为您的时区。此命令会映射 5678 端口,设置时区,并挂载数据卷以持久化数据。
容器启动后,在浏览器中打开以下地址即可访问 n8n:
http://localhost:5678n8n 默认使用 SQLite 保存数据,也支持 PostgreSQL。使用以下命令配置 PostgreSQL:
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-e GENERIC_TIMEZONE="Asia/Shanghai" \
-e TZ="Asia/Shanghai" \
-e DB_TYPE=postgresdb \
-e DB_POSTGRESDB_DATABASE=<数据库名> \
-e DB_POSTGRESDB_HOST=<主机地址> \
-e DB_POSTGRESDB_PORT=<端口> \
-e DB_POSTGRESDB_USER=<用户名> \
-e DB_POSTGRESDB_PASSWORD=<密码> \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8nn8n 支持通过环境变量进行配置。以下是一些常用的配置选项:
设置时区,影响定时任务和日志时间显示
启用基本身份验证保护您的 n8n 实例
启用任务运行器,这是执行任务的推荐方式
设置 Webhook 的公网访问地址
保护您的 n8n 实例安全至关重要。以下是推荐的安全措施:
使用 HTTPS 加密传输,保护数据安全
启用用户认证,支持 SSO、SAML 和 LDAP
为用户账户添加额外的安全层
配置防火墙规则,限制访问来源
n8n 支持多种扩展方式以应对大规模工作流执行:
使用 Redis 作为消息队列,支持多实例部署
部署专门的 Worker 节点处理工作流执行
使用 PostgreSQL 并优化数据库配置以提升性能
部署完成后,浏览我们的工作流库,找到适合您的自动化方案,快速开始使用 n8n。
浏览工作流