File size: 993 Bytes
b48f457
96c1342
8e3b547
 
 
ffbfa5c
8e3b547
 
9c8fdbd
8e3b547
b561152
9c8fdbd
2babf00
 
b48f457
96c1342
2babf00
 
 
ffbfa5c
 
 
 
 
8e3b547
 
 
 
2babf00
 
46a8ee4
2babf00
ffbfa5c
9c8fdbd
 
2babf00
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
FROM ubuntu:20.04

# 安装基础依赖
RUN apt-get update && apt-get install -y curl ca-certificates openssl

# 创建非 root 用户并设置主目录
RUN useradd -m -d /home/node -s /bin/bash node

# 安装 Node.js 18.x
RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - && \
    apt-get install -y nodejs

# 全局安装 n8n(指定旧版本兼容 --port 参数,或使用新版本环境变量)
# 方案1: 使用新版 + 环境变量(推荐)
RUN npm install -g n8n

# 方案2: 回退到支持 --port 的旧版本(不推荐)
# RUN npm install -g [email protected]

# 修复权限:创建必要目录并赋权
RUN mkdir -p /home/node/.n8n /data && \
    chown -R node:node /home/node/.n8n /data

# 切换到非 root 用户
USER node
ENV HOME=/home/node
WORKDIR $HOME/app

# 设置环境变量(新版本必须通过环境变量配置)
ENV N8N_PORT=7860
ENV N8N_HOST=0.0.0.0

# 暴露端口
EXPOSE 7860

# 启动命令(不再需要 --port 参数)
CMD ["n8n", "start"]