HuuDatLego/Unicode
0
1# Sử dụng Node.js image làm căn bản2FROM node:18-bookworm-slim3 4# Bước 1: Chạy dưới quyền root để cài đặt các package hệ thống5USER root6 7RUN 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 python3-is-python3 \14 libgl1 \15 libglib2.0-0 \16 && rm -rf /var/lib/apt/lists/*17 18# Bước 2: Cài đặt các thư viện Python (Chạy dưới quyền root)19RUN pip3 install --no-cache-dir --break-system-packages \20 numpy \21 matplotlib \22 sympy \23 opencv-python-headless24 25# Bước 3: Thiết lập biến môi trường26# Hugging Face Spaces bắt buộc dùng UID 1000. Image node:18 đã có sẵn user 'node' với UID 1000.27ENV HOME=/home/node \28 PATH=/home/node/.local/bin:$PATH \29 PORT=786030 31# Bước 4: Cấu hình thư mục làm việc32WORKDIR $HOME/app33 34# Bước 5: Copy file cấu hình Node.js35COPY --chown=node:node package*.json ./36 37# Bước 6: Chuyển sang quyền user node trước khi cài đặt npm và chạy app38USER node39 40# Cài đặt dependencies Node.js41RUN npm install42 43# Bước 7: Copy toàn bộ mã nguồn44COPY --chown=node:node . .45 46# Bước 8: Chuẩn bị thư mục temp cho việc thực thi code47RUN mkdir -p temp && chmod 777 temp48 49# Cấu hình cổng mạng50EXPOSE 786051 52# Lệnh khởi chạy53CMD ["node", "server.js"]