用Docker部署n8n自动化工作流平台,附完整配置

用Docker部署n8n自动化工作流平台,附完整配置

n8n 是一个开源的工作流自动化平台,支持 400+ 集成。相比 Zapier 要付费,n8n 可以免费自部署,数据完全自己掌控。

本文用 Docker 方式部署,全程贴命令,跟着做就行。

前置要求

  • 服务器安装 Docker(20.10+)
  • 安装 Docker Compose v2
  • 一个域名(可选,用于 HTTPS)

一、Docker Compose 部署

创建 docker-compose.yml:

yaml 复制代码
version: '3.8'

services:
  n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=${N8N_HOST:-localhost}
      - N8N_PORT=5678
      - N8N_PROTOCOL=${N8N_PROTOCOL:-http}
      - WEBHOOK_URL=${WEBHOOK_URL:-}
      - DB_TYPE=sqlite
      - DB_SQLITE_DATABASE=/home/node/.n8n/database.sqlite
    volumes:
      - ./n8n_data:/home/node/.n8n

启动:

bash 复制代码
docker compose up -d

访问 http://你的IP:5678 就能看到界面。

二、配置 PostgreSQL(生产环境推荐)

SQLite 适合测试,生产环境建议用 PostgreSQL。配置完成后通过 n8n 的可视化界面创建工作流:

yaml 复制代码
services:
  postgres:
    image: postgres:15
    restart: unless-stopped
    environment:
      - POSTGRES_USER=n8n
      - POSTGRES_PASSWORD=your_strong_password
      - POSTGRES_DB=n8n
    volumes:
      - ./postgres_data:/var/lib/postgresql/data

  n8n:
    image: n8nio/n8n:latest
    restart: unless-stopped
    depends_on:
      - postgres
    ports:
      - "5678:5678"
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=your_strong_password
    volumes:
      - ./n8n_data:/home/node/.n8n

三、配置 Nginx 反代 + HTTPS

nginx 复制代码
server {
    listen 443 ssl;
    server_name n8n.yourdomain.com;
    ...
}

四、第一个工作流

部署完成后,创建一个简单的定时任务,核心 Code 节点示例:

javascript 复制代码
const data = $input.all();
const processed = data.map(item => ({
    title: item.json.title,
    timestamp: new Date().toISOString()
}));
return processed;

五、监控与维护

bash 复制代码
docker logs -f n8n
docker compose restart n8n
tar -czf n8n_backup_$(date +%Y%m%d).tar.gz n8n_data/

总结

Docker 部署 n8n 是最快的方式,10 分钟就能跑起来。数据在自己服务器上,安全可控,还不用付费。

相关推荐
Shockang25 分钟前
llama.cpp 本地运行 9B 模型:部署、工具调用与微调数据
人工智能
Shockang34 分钟前
n8n 智能体工作流实战:触发、工具、记忆与发布护栏
人工智能
冬奇Lab2 小时前
开源项目第241期:YuE2 —— 用符号乐谱当“白盒“接口的开源音乐生成模型,SongBench 超越 Suno v5/v6
人工智能
鶴哥只手遮天3 小时前
Spring AI 2.0.1 深度解析-第 14 章 MCP 服务端(上):注解式实现与工具来源
java·人工智能·开源
鶴哥只手遮天3 小时前
Spring AI 2.0.1 深度解析-第 15 章 MCP 服务端(下):三种协议形态、Streamable 传输与状态管理
java·人工智能·开源
鶴哥只手遮天3 小时前
Spring AI 2.0.1 深度解析-第 16 章 向量存储(上):`VectorStore` 接口体系、`BatchingStrategy`
java·人工智能·开源
鶴哥只手遮天3 小时前
Spring AI 2.0.1 深度解析-第 12 章 工具循环的流式形态、Usage 累加与扩展体系
java·人工智能·开源
鶴哥只手遮天3 小时前
Spring AI 2.0.1 深度解析-第 23 章 模型供应商实现:从 `OpenAiSetup` 到 Bedrock
java·人工智能·开源
鶴哥只手遮天3 小时前
Spring AI 2.0.1 深度解析-第 06 章 内置 Advisor 全景:13 个实现逐个剖到源码级
java·人工智能·开源