locmaymo commited on
Commit
41ea569
·
verified ·
1 Parent(s): 2f303e4

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +34 -0
Dockerfile ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 1. Sử dụng Node.js v20 (Phiên bản ổn định nhất cho n8n hiện tại)
2
+ FROM node:20-bookworm-slim
3
+
4
+ # Thiết lập biến môi trường quan trọng cho Hugging Face
5
+ # Port 7860 là bắt buộc trên HF Spaces
6
+ ENV PORT=7860
7
+ ENV N8N_PORT=7860
8
+ ENV N8N_HOST=0.0.0.0
9
+ ENV N8N_PROTOCOL=https
10
+
11
+ # Tắt các tele/diagnostic không cần thiết
12
+ ENV N8N_DIAGNOSTICS_ENABLED=false
13
+ ENV N8N_PERSONALIZATION_ENABLED=false
14
+
15
+ # Thư mục làm việc
16
+ WORKDIR /app
17
+
18
+ # 2. Cài đặt các dependencies hệ thống cần thiết (git để n8n clone node khác nếu cần)
19
+ RUN apt-get update && apt-get install -y git graphicsmagick && rm -rf /var/lib/apt/lists/*
20
+
21
+ # 3. Cài đặt n8n và các tools Zalo CÙNG LÚC ở global
22
+ # Vì đây là image Node thuần, việc dùng 'npm install -g' sẽ hoạt động mượt mà,
23
+ # khắc phục hoàn toàn lỗi 'spawn npm ENOENT' bạn gặp trước đó.
24
+ RUN npm install -g n8n n8n-nodes-zalo-tools
25
+
26
+ # 4. Tạo thư mục chứa dữ liệu và cấp quyền (tránh lỗi permission trên HF)
27
+ RUN mkdir -p /home/node/.n8n && chown -R node:node /home/node/.n8n /app
28
+
29
+ # Chuyển sang user node (bảo mật, Hugging Face khuyến nghị)
30
+ USER node
31
+
32
+ # 5. Khởi chạy n8n
33
+ # Không dùng loop, chạy thẳng process
34
+ CMD ["n8n", "start"]