Unicode / Dockerfile
HuuDatLego's picture
Upload folder using huggingface_hub
ff0e4e3 verified
# 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"]