8
n8n 中文网amn8n.com
自托管部署

n8n 自托管部署指南

本指南提供 n8n 企业版和社区版的完整部署教程。社区版完全免费,企业版需要付费。

自托管技术要求

n8n 自托管需要以下技术知识:

  • 服务器和容器的设置与配置
  • 应用资源管理和扩展
  • 服务器和应用程序安全
  • n8n 配置管理

n8n 推荐有经验的用户进行自托管。配置错误可能导致数据丢失、安全问题和停机。如果您没有服务器管理经验,建议使用 n8n Cloud 云托管服务。

安装方式

n8n 提供多种安装方式,您可以选择最适合您的方案:

Docker 安装

推荐使用 Docker 进行部署。它提供干净的隔离环境,避免操作系统和工具兼容性问题,简化数据库和环境管理。

推荐

npm 安装

使用 npm 直接在系统中安装 n8n,适合熟悉 Node.js 环境的开发者。

Docker 快速部署

1. 安装 Docker

首先确保您已经安装了 Docker。您可以从 Docker 官网下载 Docker Desktop(支持 Mac、Windows 和 Linux)。

# 验证 Docker 是否已安装
docker --version

2. 运行 n8n 容器

使用以下命令创建数据卷并启动 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 端口,设置时区,并挂载数据卷以持久化数据。

3. 访问 n8n

容器启动后,在浏览器中打开以下地址即可访问 n8n:

http://localhost:5678

使用 PostgreSQL 数据库

n8n 默认使用 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/n8n

环境变量配置

n8n 支持通过环境变量进行配置。以下是一些常用的配置选项:

GENERIC_TIMEZONE / TZ

设置时区,影响定时任务和日志时间显示

N8N_BASIC_AUTH_ACTIVE

启用基本身份验证保护您的 n8n 实例

N8N_RUNNERS_ENABLED

启用任务运行器,这是执行任务的推荐方式

WEBHOOK_URL

设置 Webhook 的公网访问地址

安全设置

保护您的 n8n 实例安全至关重要。以下是推荐的安全措施:

SSL/TLS 加密

使用 HTTPS 加密传输,保护数据安全

身份验证

启用用户认证,支持 SSO、SAML 和 LDAP

双因素认证 (2FA)

为用户账户添加额外的安全层

访问控制

配置防火墙规则,限制访问来源

扩展和性能优化

n8n 支持多种扩展方式以应对大规模工作流执行:

队列模式

使用 Redis 作为消息队列,支持多实例部署

Worker 节点

部署专门的 Worker 节点处理工作流执行

数据库优化

使用 PostgreSQL 并优化数据库配置以提升性能

相关资源

准备好开始了吗?

部署完成后,浏览我们的工作流库,找到适合您的自动化方案,快速开始使用 n8n。

浏览工作流