Spaces:
Build error
Build error
File size: 1,416 Bytes
d0f8495 5358c7e bc6743c 5358c7e bc6743c 5358c7e bc6743c f3f9912 f3ef694 bc6743c ff0e4e3 f3f9912 ff0e4e3 d0f8495 f3f9912 d0f8495 bc6743c f3f9912 ff0e4e3 5358c7e ff0e4e3 5358c7e bc6743c ff0e4e3 bc6743c 5358c7e d0f8495 bc6743c ff0e4e3 bc6743c 5358c7e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | # Sử dụng Node.js image làm căn bản
FROM node:18-bookworm-slim
# Bước 1: Chạy dưới quyền root để cài đặt các package hệ thống
USER root
RUN apt-get update && apt-get install -y --no-install-recommends \
gcc \
g++ \
openjdk-17-jdk-headless \
python3 \
python3-pip \
python3-is-python3 \
libgl1 \
libglib2.0-0 \
&& rm -rf /var/lib/apt/lists/*
# Bước 2: Cài đặt các thư viện Python (Chạy dưới quyền root)
RUN pip3 install --no-cache-dir --break-system-packages \
numpy \
matplotlib \
sympy \
opencv-python-headless
# Bước 3: Thiết lập biến môi trường
# Hugging Face Spaces bắt buộc dùng UID 1000. Image node:18 đã có sẵn user 'node' với UID 1000.
ENV HOME=/home/node \
PATH=/home/node/.local/bin:$PATH \
PORT=7860
# Bước 4: Cấu hình thư mục làm việc
WORKDIR $HOME/app
# Bước 5: Copy file cấu hình Node.js
COPY --chown=node:node package*.json ./
# Bước 6: Chuyển sang quyền user node trước khi cài đặt npm và chạy app
USER node
# Cài đặt dependencies Node.js
RUN npm install
# Bước 7: Copy toàn bộ mã nguồn
COPY --chown=node:node . .
# Bước 8: Chuẩn bị thư mục temp cho việc thực thi code
RUN mkdir -p temp && chmod 777 temp
# Cấu hình cổng mạng
EXPOSE 7860
# Lệnh khởi chạy
CMD ["node", "server.js"] |