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

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +15 -17
Dockerfile CHANGED
@@ -1,34 +1,32 @@
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 n8ncác tools Zalo CÙNG LÚC global
22
- # đâ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"]
 
1
+ # Sử dụng môi trường Node.js 20 (LTS) chuẩn Debian (dễ chịu hơn Alpine cho dev)
2
  FROM node:20-bookworm-slim
3
 
4
+ # Thiết lập Port 7860 bắt buộc cho Hugging Face Spaces
 
5
  ENV PORT=7860
6
  ENV N8N_PORT=7860
7
  ENV N8N_HOST=0.0.0.0
8
  ENV N8N_PROTOCOL=https
9
 
10
+ # Tắt các thông báo/telemetry không cần thiết
11
  ENV N8N_DIAGNOSTICS_ENABLED=false
12
  ENV N8N_PERSONALIZATION_ENABLED=false
13
 
14
+ # Thiết lập thư mục làm việc
15
  WORKDIR /app
16
 
17
+ # Cài đặt n8n Global (bản Core mới nhất từ NPM)
18
+ # Đây cách clean nhất để chạy n8n trên môi trường Node
19
+ RUN npm install -g n8n
20
 
21
+ # Tạo thư mục dữ liệu cấp quyền cho user 'node' (tránh lỗi EACCES)
22
+ RUN mkdir -p /home/node/.n8n && \
23
+ chown -R node:node /home/node/.n8n /app
 
24
 
25
+ # Chuyển sang user node (Best practice bảo mật)
 
 
 
26
  USER node
27
 
28
+ # Mở cổng
29
+ EXPOSE 7860
30
+
31
+ # Chạy n8n trực tiếp
32
  CMD ["n8n", "start"]