Create Dockerfile
Browse files- 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"]
|