
Deploy n8n.io Queue Mode on Your Own Server
Node based workflow automation tool - Queue mode
想更快部署 n8n.io Queue Mode到服务器?试试 Senate,一条命令完成部署,自动配置 HTTPS 和监控。
什么是 n8n.io Queue Mode?
n8n in queue mode is an advanced execution setting designed for scalability and distributed workflow processing. Unlike the default single-process mode, where triggers and workflow runs share the same thread, queue mode splits the backend into separate components. This separation enables horizontal scaling, improved performance under load, and isolation between trigger handling and execution.
自托管 n8n.io Queue Mode
按照以下步骤在您的服务器上部署。
安装 Docker
如果服务器上已安装 Docker,可跳过此步骤。
curl -fsSL https://get.docker.com | sh
配置
自定义以下设置。大多数情况下使用默认值即可。
Application
Postgres
Redis
部署
复制配置并在服务器上运行。
services:
n8n_io_queue_mode-editor:
image: n8nio/n8n:1.106.3
environment:
DB_POSTGRESDB_DATABASE: n8n_queue
DB_POSTGRESDB_HOST: n8n_io_queue_mode-postgres
DB_POSTGRESDB_PASSWORD: 1d20b1483aa7669c5d46b759880605ad4cd08942b8638b014f
DB_POSTGRESDB_USER: n8n_queue
DB_TYPE: postgresdb
EXECUTIONS_MODE: queue
GENERIC_TIMEZONE: UTC
N8N_CONCURRENCY_PRODUCTION_LIMIT: "10"
N8N_DEFAULT_LOCALE: en
N8N_DIAGNOSTICS_ENABLED: "false"
N8N_EDITOR_BASE_URL: https://n8n_io_queue_mode-editor.your-domain.com
N8N_EMAIL_MODE: smtp
N8N_ENCRYPTION_KEY: 26d9d42f36ecdb27e2725d59a06d5f6290189709
N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: "true"
N8N_HOST: n8n_io_queue_mode-editor.your-domain.com
N8N_PROTOCOL: https
N8N_RUNNERS_ENABLED: "true"
N8N_SMTP_HOST: ""
N8N_SMTP_PASS: ""
N8N_SMTP_PORT: ""
N8N_SMTP_SENDER: ""
N8N_SMTP_SSL: "true"
N8N_SMTP_USER: ""
NODE_ENV: production
OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS: "true"
QUEUE_BULL_REDIS_HOST: n8n_io_queue_mode-redis
QUEUE_BULL_REDIS_PORT: "6379"
TZ: UTC
WEBHOOK_URL: https://n8n_io_queue_mode-webhooks.your-domain.com
volumes:
- n8n_io_queue_mode-data:/home/node/.n8n
- n8n_io_queue_mode-files:/files
depends_on:
- n8n_io_queue_mode-postgres
- n8n_io_queue_mode-redis
n8n_io_queue_mode-postgres:
image: pgvector/pgvector:pg14
environment:
POSTGRES_DB: n8n_queue
POSTGRES_PASSWORD: 1d20b1483aa7669c5d46b759880605ad4cd08942b8638b014f
POSTGRES_USER: n8n_queue
TZ: UTC
volumes:
- n8n_io_queue_mode-postgres-data:/var/lib/postgresql/data
n8n_io_queue_mode-redis:
image: redis:8.2.0
volumes:
- n8n_io_queue_mode-redis-data:/data
n8n_io_queue_mode-webhooks:
image: n8nio/n8n:1.106.3
environment:
DB_POSTGRESDB_DATABASE: n8n_queue
DB_POSTGRESDB_HOST: n8n_io_queue_mode-postgres
DB_POSTGRESDB_PASSWORD: 1d20b1483aa7669c5d46b759880605ad4cd08942b8638b014f
DB_POSTGRESDB_USER: n8n_queue
DB_TYPE: postgresdb
EXECUTIONS_MODE: queue
GENERIC_TIMEZONE: UTC
N8N_CONCURRENCY_PRODUCTION_LIMIT: "10"
N8N_DEFAULT_LOCALE: en
N8N_DIAGNOSTICS_ENABLED: "false"
N8N_EDITOR_BASE_URL: https://n8n_io_queue_mode-editor.your-domain.com
N8N_EMAIL_MODE: smtp
N8N_ENCRYPTION_KEY: 26d9d42f36ecdb27e2725d59a06d5f6290189709
N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: "true"
N8N_HOST: n8n_io_queue_mode-editor.your-domain.com
N8N_PROTOCOL: https
N8N_RUNNERS_ENABLED: "true"
N8N_SMTP_HOST: ""
N8N_SMTP_PASS: ""
N8N_SMTP_PORT: ""
N8N_SMTP_SENDER: ""
N8N_SMTP_SSL: "true"
N8N_SMTP_USER: ""
NODE_ENV: production
OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS: "true"
QUEUE_BULL_REDIS_HOST: n8n_io_queue_mode-redis
QUEUE_BULL_REDIS_PORT: "6379"
TZ: UTC
WEBHOOK_URL: https://n8n_io_queue_mode-webhooks.your-domain.com
volumes:
- n8n_io_queue_mode-data:/home/node/.n8n
- n8n_io_queue_mode-files:/files
depends_on:
- n8n_io_queue_mode-postgres
- n8n_io_queue_mode-redis
n8n_io_queue_mode-workers:
image: n8nio/n8n:1.106.3
environment:
DB_POSTGRESDB_DATABASE: n8n_queue
DB_POSTGRESDB_HOST: n8n_io_queue_mode-postgres
DB_POSTGRESDB_PASSWORD: 1d20b1483aa7669c5d46b759880605ad4cd08942b8638b014f
DB_POSTGRESDB_USER: n8n_queue
DB_TYPE: postgresdb
EXECUTIONS_MODE: queue
GENERIC_TIMEZONE: UTC
N8N_CONCURRENCY_PRODUCTION_LIMIT: "10"
N8N_DEFAULT_LOCALE: en
N8N_DIAGNOSTICS_ENABLED: "false"
N8N_EDITOR_BASE_URL: https://n8n_io_queue_mode-editor.your-domain.com
N8N_EMAIL_MODE: smtp
N8N_ENCRYPTION_KEY: 26d9d42f36ecdb27e2725d59a06d5f6290189709
N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: "true"
N8N_HOST: n8n_io_queue_mode-editor.your-domain.com
N8N_PROTOCOL: https
N8N_RUNNERS_ENABLED: "true"
N8N_SMTP_HOST: ""
N8N_SMTP_PASS: ""
N8N_SMTP_PORT: ""
N8N_SMTP_SENDER: ""
N8N_SMTP_SSL: "true"
N8N_SMTP_USER: ""
NODE_ENV: production
OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS: "true"
QUEUE_BULL_REDIS_HOST: n8n_io_queue_mode-redis
QUEUE_BULL_REDIS_PORT: "6379"
TZ: UTC
WEBHOOK_URL: https://n8n_io_queue_mode-webhooks.your-domain.com
volumes:
- n8n_io_queue_mode-data:/home/node/.n8n
- n8n_io_queue_mode-files:/files
depends_on:
- n8n_io_queue_mode-postgres
- n8n_io_queue_mode-redis
volumes:
n8n_io_queue_mode-data: {}
n8n_io_queue_mode-files: {}
n8n_io_queue_mode-postgres-data: {}
n8n_io_queue_mode-redis-data: {}
然后运行:
docker compose up -d
访问
启动后,访问您的应用: http://localhost:5678
为什么要自托管 n8n.io Queue Mode?
完全数据所有权
数据保存在您的服务器上,无第三方访问。
无月费
只需支付服务器费用,无按席位或用量收费。
完全控制
按您的需求自定义、备份和扩展。
隐私与合规
满足 GDPR、HIPAA 或内部安全要求。
技术细节
Docker 镜像
n8nio/n8n:${N8N_VERSION}想更快部署?
尝试 Senate!Senate 帮您处理 Docker、HTTPS、更新和监控。一条命令部署 300+ 应用。
在任意 Linux 服务器上安装:
sh -c "$(curl -sSL https://get.senate.sh)"