n8n 容器化部署指南
·
n8n 容器化部署指南
n8n 是一个开源的工作流程自动化工具,可以通过容器化方式方便地部署。以下是几种常见的容器化部署方法:
1. 使用 Docker 直接运行
docker run -d \
--name n8n \
-p 5678:5678 \
-v ~/.n8n:/home/node/.n8n \
-e N8N_BASIC_AUTH_ACTIVE=true \
-e N8N_BASIC_AUTH_USER=<用户名> \
-e N8N_BASIC_AUTH_PASSWORD=<密码> \
n8nio/n8n
2. 使用 Docker Compose
创建一个 docker-compose.yml 文件:
version: '3'
services:
n8n:
image: n8nio/n8n
restart: always
ports:
- "5678:5678"
volumes:
- ~/.n8n:/home/node/.n8n
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=<用户名>
- N8N_BASIC_AUTH_PASSWORD=<密码>
# 其他可选环境变量
# - N8N_WEBHOOK_URL=https://your-domain.com/
# - N8N_HOST=your-domain.com
然后运行:
docker-compose up -d
3. Kubernetes 部署
创建 deployment 和 service 的 YAML 文件:
apiVersion: apps/v1
kind: Deployment
metadata:
name: n8n
spec:
replicas: 1
selector:
matchLabels:
app: n8n
template:
metadata:
labels:
app: n8n
spec:
containers:
- name: n8n
image: n8nio/n8n
ports:
- containerPort: 5678
env:
- name: N8N_BASIC_AUTH_ACTIVE
value: "true"
- name: N8N_BASIC_AUTH_USER
value: "<用户名>"
- name: N8N_BASIC_AUTH_PASSWORD
value: "<密码>"
volumeMounts:
- name: n8n-data
mountPath: /home/node/.n8n
volumes:
- name: n8n-data
persistentVolumeClaim:
claimName: n8n-pvc
---
apiVersion: v1
kind: Service
metadata:
name: n8n-service
spec:
selector:
app: n8n
ports:
- protocol: TCP
port: 80
targetPort: 5678
配置选项
常见环境变量配置:
N8N_BASIC_AUTH_ACTIVE: 启用基本认证N8N_BASIC_AUTH_USER: 用户名N8N_BASIC_AUTH_PASSWORD: 密码N8N_WEBHOOK_URL: Webhook 基础 URLN8N_HOST: 主机名N8N_PORT: 端口号 (默认 5678)N8N_PROTOCOL: 协议 (http 或 https)NODE_ENV: 环境 (production 或 development)
持久化存储
确保将 /home/node/.n8n 目录挂载到宿主机或持久卷,以保存工作流配置和数据。
更新容器
要更新 n8n 容器:
docker pull n8nio/n8n
docker-compose down
docker-compose up -d
以上方法可以帮助您快速部署容器化的 n8n 实例。根据您的具体需求,可能需要调整配置参数。
更多推荐
所有评论(0)