HuuDatLego commited on
Commit
5358c7e
·
verified ·
1 Parent(s): 605d9dd

Upload folder using huggingface_hub

Browse files
Files changed (2) hide show
  1. .gitignore +0 -6
  2. Dockerfile +31 -20
.gitignore CHANGED
@@ -21,9 +21,3 @@ main_*
21
  # Hệ điều hành
22
  .DS_Store
23
  Thumbs.db
24
-
25
- # Quy trình upload/triển khai
26
- upload_to_hf.py
27
- .dockerignore
28
- Dockerfile
29
- README.md
 
21
  # Hệ điều hành
22
  .DS_Store
23
  Thumbs.db
 
 
 
 
 
 
Dockerfile CHANGED
@@ -1,46 +1,57 @@
1
  # Sử dụng Node.js image làm căn bản
2
- FROM node:18
3
 
4
- # Cài đặt các trình biên dịch thư viện hệ thống cần thiết
5
- # Bao gồm: GCC, G++, JDK, Python và các thư viện hỗ trợ OpenCV (libGL, libglib)
6
- RUN apt-get update && apt-get install -y \
 
7
  gcc \
8
  g++ \
9
- openjdk-17-jdk \
10
  python3 \
11
  python3-pip \
12
- python3-full \
13
  libgl1 \
14
  libglib2.0-0 \
15
  && rm -rf /var/lib/apt/lists/*
16
 
17
- # Tạo user có UID 1000 (Hugging Face yêu cầu user 1000 để có quyền ghi file)
18
  RUN useradd -m -u 1000 user
19
- USER user
 
20
  ENV HOME=/home/user \
21
  PATH=/home/user/.local/bin:$PATH
22
 
23
- # Thiết lập thư mục làm việc
24
  WORKDIR $HOME/app
25
 
26
- # Copy package.json cài đặt dependencies Node.js
27
- # Sử dụng quyền của user để copy
 
 
 
 
 
 
 
 
 
 
 
 
28
  COPY --chown=user package*.json ./
29
- RUN npm install
30
 
31
- # Cài đặt thư viện Python (numpy, matplotlib, sympy, opencv)
32
- # Dùng --break-system-packages vì Debian 12 quản lý môi trường python rất chặt
33
- RUN pip3 install --no-cache-dir --break-system-packages numpy matplotlib sympy opencv-python
34
 
35
- # Copy toàn bộ mã nguồn vào container
36
  COPY --chown=user . .
37
 
38
- # Tạo thư mục temp và phân quyền cho việc biên dịch code
39
  RUN mkdir -p temp && chmod 777 temp
40
 
41
- # Hugging Face Spaces yêu cầu cổng 7860
42
  ENV PORT=7860
43
  EXPOSE 7860
44
 
45
- # Chạy server bằng node trực tiếp
46
- CMD ["node", "server.js"]
 
1
  # Sử dụng Node.js image làm căn bản
2
+ FROM node:18-bookworm-slim
3
 
4
+ # Bước 1: Chạy dưới quyền root để cài đặt các package hệ thống
5
+ USER root
6
+
7
+ RUN apt-get update && apt-get install -y --no-install-recommends \
8
  gcc \
9
  g++ \
10
+ openjdk-17-jdk-headless \
11
  python3 \
12
  python3-pip \
 
13
  libgl1 \
14
  libglib2.0-0 \
15
  && rm -rf /var/lib/apt/lists/*
16
 
17
+ # Bước 2: Tạo user có UID 1000 theo chuẩn của Hugging Face
18
  RUN useradd -m -u 1000 user
19
+
20
+ # Thiết lập biến môi trường cho user
21
  ENV HOME=/home/user \
22
  PATH=/home/user/.local/bin:$PATH
23
 
24
+ # Bước 3: Cấu hình thư mục làm việc vào thư mục home của user
25
  WORKDIR $HOME/app
26
 
27
+ # Cấp quyền sở hữu thư mục cho user
28
+ RUN chown -R user:user $HOME/app
29
+
30
+ # Bước 4: Chuyển sang quyền user vừa tạo
31
+ USER user
32
+
33
+ # Bước 5: Cài đặt các thư viện Python (Cài đặt local cho user)
34
+ RUN pip3 install --no-cache-dir --break-system-packages \
35
+ numpy \
36
+ matplotlib \
37
+ sympy \
38
+ opencv-python-headless
39
+
40
+ # Bước 6: Copy file cấu hình Node.js (nhớ dùng --chown=user)
41
  COPY --chown=user package*.json ./
 
42
 
43
+ # Cài đặt dependencies Node.js
44
+ RUN npm install
 
45
 
46
+ # Bước 7: Copy toàn bộ mã nguồn (dùng --chown=user)
47
  COPY --chown=user . .
48
 
49
+ # Bước 8: Chuẩn bị thư mục temp cho việc thực thi code
50
  RUN mkdir -p temp && chmod 777 temp
51
 
52
+ # Bước 9: Cấu hình cổng mạng (Hugging Face BẮT BUỘC dùng cổng 7860)
53
  ENV PORT=7860
54
  EXPOSE 7860
55
 
56
+ # Lệnh khởi chạy
57
+ CMD ["node", "server.js"]