Update Dockerfile
Browse files- Dockerfile +9 -19
Dockerfile
CHANGED
|
@@ -1,37 +1,27 @@
|
|
| 1 |
-
# Sử dụng Node.js version 20 (LTS) làm nền tảng
|
| 2 |
FROM node:20-slim
|
| 3 |
|
| 4 |
-
# Cài đặt
|
| 5 |
RUN apt-get update && \
|
| 6 |
apt-get install -y git python3 make g++ && \
|
| 7 |
apt-get clean && \
|
| 8 |
rm -rf /var/lib/apt/lists/*
|
| 9 |
|
| 10 |
-
#
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
USER user
|
| 15 |
-
ENV HOME=/home/user \
|
| 16 |
-
PATH=/home/user/.local/bin:$PATH
|
| 17 |
|
| 18 |
# Thiết lập thư mục làm việc
|
| 19 |
WORKDIR $HOME/app
|
| 20 |
|
| 21 |
-
# Clone
|
| 22 |
RUN git clone https://github.com/locmaymo/st .
|
| 23 |
|
| 24 |
-
# Cài đặt
|
| 25 |
RUN npm install
|
| 26 |
|
| 27 |
-
#
|
| 28 |
-
RUN mkdir -p public uploads plugins && \
|
| 29 |
-
chown -R user:user .
|
| 30 |
-
|
| 31 |
-
# Mở cổng 7860 (Cổng mặc định của HF Spaces)
|
| 32 |
EXPOSE 7860
|
| 33 |
|
| 34 |
-
#
|
| 35 |
-
# --port 7860: Chạy đúng cổng HF yêu cầu
|
| 36 |
-
# --listen: Cho phép kết nối từ bên ngoài (quan trọng để HF proxy hoạt động)
|
| 37 |
CMD ["node", "server.js", "--port", "7860", "--listen"]
|
|
|
|
|
|
|
| 1 |
FROM node:20-slim
|
| 2 |
|
| 3 |
+
# Cài đặt các gói cần thiết
|
| 4 |
RUN apt-get update && \
|
| 5 |
apt-get install -y git python3 make g++ && \
|
| 6 |
apt-get clean && \
|
| 7 |
rm -rf /var/lib/apt/lists/*
|
| 8 |
|
| 9 |
+
# Image node đã có sẵn user "node" (UID 1000)
|
| 10 |
+
# Chuyển sang user này luôn để khớp với yêu cầu của Hugging Face
|
| 11 |
+
USER node
|
| 12 |
+
ENV HOME=/home/node
|
|
|
|
|
|
|
|
|
|
| 13 |
|
| 14 |
# Thiết lập thư mục làm việc
|
| 15 |
WORKDIR $HOME/app
|
| 16 |
|
| 17 |
+
# Clone code (chạy dưới quyền user node nên không lo lỗi permission)
|
| 18 |
RUN git clone https://github.com/locmaymo/st .
|
| 19 |
|
| 20 |
+
# Cài đặt thư viện
|
| 21 |
RUN npm install
|
| 22 |
|
| 23 |
+
# Mở cổng 7860
|
|
|
|
|
|
|
|
|
|
|
|
|
| 24 |
EXPOSE 7860
|
| 25 |
|
| 26 |
+
# Chạy server
|
|
|
|
|
|
|
| 27 |
CMD ["node", "server.js", "--port", "7860", "--listen"]
|