帮助中心FAQ


前置准备:环境检查与Docker安装

在开始下载镜像之前,请确保服务器满足以下条件:

检查系统版本(CentOS 7 及以上)

cat /etc/centos-release

 

检查 Docker 是否已安装

docker --version

 

如未安装 Docker,执行以下命令

yum install -y yum-utils

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

yum install -y docker-ce docker-ce-cli containerd.io

systemctl start docker && systemctl enable docker

 

步骤1:在境外服务器下载n8n镜像

由于国内无法直接访问Docker Hub,需要通过境外服务器进行中转:

 

 

只能通过境外服务器进行下载

1. 拉取n8n镜像

docker pull n8nio/n8n

 

 2. 将镜像保存为tar文件

docker save n8nio/n8n -o n8n.tar

 

 3. 检查文件大小(通常约500MB-1GB)

ls -lh n8n.tar

 

使用scp(需要SSH连接)

scp n8n.tar 用户名@本地服务器IP:/tmp/

 

scp 用户名@海外服务器IP:/path/to/n8n.tar ./

# 再从本地电脑上传到本地服务器

 

在本地服务器上导入并运行

 

 1. 导入镜像

docker load -i /tmp/n8n.tar

 

 2. 验证镜像已导入

docker images | grep n8n

 

3. 运行n8n

docker run -d \

  --name n8n \

  -p 5678:5678 \

  -v n8n_data:/home/node/.n8n \

  n8nio/n8n

 

 

配置数据持久化(生产环境必需)

重要:必须使用宿主机目录挂载,否则容器重启后数据会丢失!

 

创建n8n数据目录

mkdir -p /opt/n8n/data

chcon -R system_u:object_r:container_file_t:s0 /opt/n8n  # SELinux配置

 

创建docker-compose.yml文件

cat > /opt/n8n/docker-compose.yml << EOF

version: "3"

services:

  n8n:

    image: n8nio/n8n

    restart: always

    ports:

      - "5678:5678"

    environment:

      - N8N_BASIC_AUTH_ACTIVE=true

      - N8N_BASIC_AUTH_USER=admin

      - N8N_BASIC_AUTH_PASSWORD=your_secure_password

      - N8N_HOST=your_domain_or_ip

      - N8N_PROTOCOL=http

      - WEBHOOK_URL=http://your_domain:5678/

    volumes:

      - /opt/n8n/data:/home/node/.n8n

EOF

 

启动n8n服务

cd /opt/n8n && docker-compose up -d

 

查看运行状态

docker-compose ps

docker logs -f n8n

 

 

配置Nginx反向代理与SSL(如果使用内网穿透,可以不做)

生产环境建议通过Nginx反向代理,并配置HTTPS访问:

安装Nginx

yum install -y nginx

systemctl start nginx && systemctl enable nginx

 

创建Nginx配置文件

cat > /etc/nginx/conf.d/n8n.conf << EOF

server {

    listen 80;

    server_name your_domain_or_ip;

    client_max_body_size 100M;

    location / {

        proxy_pass http://localhost:5678;

        proxy_set_header Host $host;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_set_header X-Forwarded-Proto $scheme;

        proxy_read_timeout 300;

    }

}

EOF

 

申请Let's Encrypt免费SSL证书(可选)

yum install -y certbot python3-certbot-nginx

certbot --nginx -d your_domain

 

验证配置并重载Nginx

nginx -t && systemctl reload nginx

 

备份、恢复与更新

数据备份

停止容器并打包数据

docker run --rm \

-v n8n_date:/source:ro \

-v $(pwd):/backup \

alpine \

tar czf /backup/n8n_data_$(date +%Y%m%d).tar.gz -C /source .

 

数据恢复

解压备份文件

tar -xzvf n8n_backup_xxxx.tar.gz -C /