HelloTestUser commited on
Commit
a0eaf7e
·
verified ·
1 Parent(s): ccb32de

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +10 -12
Dockerfile CHANGED
@@ -1,24 +1,22 @@
1
- # 使用官方最新镜像
2
  FROM n8nio/n8n:latest
3
 
4
- # 1. 暂时切换 root 用户,仅仅为了赋予权限
5
  USER root
6
-
7
- # 2. 赋予 node 用户对数据目录的完全读写权限
8
- # Hugging Face 有时会以随机 ID 运行,所以给 777 权限最稳妥
9
  RUN mkdir -p /home/node/.n8n && \
10
  chown -R node:node /home/node/.n8n && \
11
  chmod -R 777 /home/node/.n8n
12
 
13
- # 3. 【关键】切换回 node 用户
14
- # 因为 "n8n" 命令只有 node 用户能直接调用,root 找不到它
15
  USER node
16
 
17
- # 4. 设置端口为 7860 (Hugging Face 强制要求)
18
  ENV N8N_PORT=7860
19
-
20
- # 5. 暴露端口
21
  EXPOSE 7860
22
 
23
- # 6. 启动命令
24
- CMD ["n8n", "start"]
 
 
 
 
 
 
 
1
  FROM n8nio/n8n:latest
2
 
3
+ # 1. 切换 root 权限 (老样子,这步是必须的)
4
  USER root
 
 
 
5
  RUN mkdir -p /home/node/.n8n && \
6
  chown -R node:node /home/node/.n8n && \
7
  chmod -R 777 /home/node/.n8n
8
 
9
+ # 2. 切换回 node 用户
 
10
  USER node
11
 
12
+ # 3. 强制设置端口
13
  ENV N8N_PORT=7860
 
 
14
  EXPOSE 7860
15
 
16
+ # 4. 【核心修复】重置 Entrypoint
17
+ # 这一步告诉 Docker:不要用官方镜像自带的那个脚本了,听我的!
18
+ ENTRYPOINT []
19
+
20
+ # 5. 【核心修复】使用 Shell 模式启动
21
+ # 加上 /bin/sh -c 可以强制加载环境变量,保证一定能找到 "n8n" 命令
22
+ CMD ["/bin/sh", "-c", "n8n start"]