I_DevOps

🚀 使用 Docker Compose 部署 n8n 完整指南

本文适用于 Linux 服务器(Ubuntu / Debian / CentOS),Docker 环境已安装。

📌 1. 环境准备

  • 确保系统已安装 Docker 和 Docker Compose

docker -v
docker compose version
  • 如果未安装,可执行

curl -fsSL https://get.docker.com | bash
sudo systemctl enable docker --now

📂 2. 创建 n8n 目录结构

v
  • 创建持久化目录(数据库与配置)

mkdir -p ./data
mkdir -p ./postgres-data

🧩 3. 创建 docker-compose.yml

  • /opt/n8n 目录创建

version: "3.8"

services:
  postgres:
    image: postgres:15
    container_name: n8n-postgres
    restart: always
    environment:
      POSTGRES_USER: n8n
      POSTGRES_PASSWORD: n8npassword
      POSTGRES_DB: n8n
    volumes:
      - ./postgres-data:/var/lib/postgresql/data

  n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    restart: always
    ports:
      - "5678:5678"
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=n8npassword
      - DB_POSTGRESDB_DATABASE=n8n
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=yourpassword
      - GENERIC_TIMEZONE=Asia/Shanghai
    depends_on:
      - postgres
    volumes:
      - ./data:/home/node/.n8n

🔧 4. 启动服务

docker compose up -d
  • 查看运行状态

docker ps

🌐 5. 访问 n8n

http://服务器IP:5678

字段

用户名

admin

密码

yourpassword