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"] |