tutoihoc commited on
Commit
72263e1
·
verified ·
1 Parent(s): bbf37b0

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +24 -8
Dockerfile CHANGED
@@ -1,17 +1,33 @@
1
- FROM n8nio/n8n:latest
 
2
 
 
3
  USER root
4
 
5
- # 1. Cài đặt node dạng Global (System level)
6
- # Lúc này file sẽ nằm /usr/local/lib/node_modules/n8n-nodes-ultimate
7
- # Đây là thư mục hệ thống, không bị Hugging Face ghi đè.
8
- RUN npm install -g n8n-nodes-ultimate
9
 
10
- # 2. Quan trọng: Ép n8n load node từ đường dẫn tuyệt đối này
11
- # n8n sẽ không tự tìm trong global folder nếu không chỉ định rõ
 
 
 
 
 
12
  ENV N8N_CUSTOM_EXTENSIONS=/usr/local/lib/node_modules/n8n-nodes-ultimate
13
 
 
 
 
 
 
 
 
14
  USER node
15
 
16
- ENTRYPOINT []
 
 
 
 
17
  CMD ["n8n", "start"]
 
1
+ # 1. Dùng Node v20 chính chủ (bản slim cho nhẹ nhưng đủ thư viện)
2
+ FROM node:20-slim
3
 
4
+ # Chuyển sang quyền root để cài cắm thoải mái
5
  USER root
6
 
7
+ # 2. Cài thêm các tool hệ thống cơ bản (đôi khi n8n cần python/build tools để compile node)
8
+ RUN apt-get update && apt-get install -y python3 build-essential git
 
 
9
 
10
+ # 3. Cài n8n n8n-nodes-ultimate dạng GLOBAL
11
+ # --unsafe-perm để tránh npm chặn quyền root
12
+ RUN npm install -g n8n n8n-nodes-ultimate --unsafe-perm
13
+
14
+ # 4. QUAN TRỌNG NHẤT: Ép đường dẫn
15
+ # Trên image node:20-slim, global modules nằm ở /usr/local/lib/node_modules
16
+ # Thư mục này nằm sâu trong hệ thống, Hugging Face KHÔNG THỂ ghi đè được.
17
  ENV N8N_CUSTOM_EXTENSIONS=/usr/local/lib/node_modules/n8n-nodes-ultimate
18
 
19
+ # 5. Thiết lập quyền và user cho Hugging Face
20
+ # Tạo thư mục data và gán quyền cho user 'node' (user 1000)
21
+ RUN mkdir -p /home/node/.n8n && \
22
+ chown -R node:node /home/node/.n8n && \
23
+ chmod -R 755 /usr/local/lib/node_modules
24
+
25
+ # Chuyển về user node để chạy (bắt buộc trên Hugging Face)
26
  USER node
27
 
28
+ # 6. Cấu hình port và lệnh chạy
29
+ ENV PORT=7860
30
+ EXPOSE 7860
31
+
32
+ # Chạy n8n
33
  CMD ["n8n", "start"]