用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 分钟就能跑起来。数据在自己服务器上,安全可控,还不用付费。

相关推荐
微学AI5 小时前
把时间序列真正用起来:TimechoAI 使用与时序分析实战
数据库·人工智能·大模型
GEO_youxuan5 小时前
AI财务分析软件到底是“自动出表“还是“决策推演“?从自动出表到决策推演的能力分层与选型逻辑
大数据·人工智能
IT_陈寒6 小时前
Vite的热更新突然失效,原来我忽略了这个配置
前端·人工智能·后端
怪奇云呼军6 小时前
闪电智能VoiceAgent 如何管理呼入、接听、桥接和挂断状态?
java·前端·网络·数据库·人工智能
云浪6 小时前
Milvus + RAG 实战:《红楼梦》问答助手
前端·人工智能·后端
空堂与归6 小时前
机器学习如何入门?AI/ML/DL概念与建模流程全景
人工智能·机器学习
花花鱼6 小时前
TinyML Agent:MCU 上的微型智能体,AI 智能体下沉的底层实现
人工智能·单片机·嵌入式硬件
tech讯息6 小时前
商业化内容生产适用企业级视频生成模型云平台推荐|从模型生成至审核分发全链路 AWS 选型方案
人工智能·音视频·aws
独码侠6 小时前
FunASR 语音识别本地部署实录(下):34 分钟录音实测,踩过的坑、上线前要补的事
人工智能·语音识别
没落之王6 小时前
易学使者郑氏正脉郑冰推演马航事件
大数据·人工智能·算法·机器学习·可用性测试