Spaces:
Sleeping
Sleeping
| FROM python:3.12-slim | |
| WORKDIR /app | |
| # Cài đặt các gói phụ thuộc hệ thống cần thiết | |
| # Bao gồm các gói cho weasyprint (Cairo, Pango) và dependencies khác | |
| RUN apt-get update && apt-get install -y \ | |
| build-essential \ | |
| curl \ | |
| git \ | |
| libcairo2-dev \ | |
| libpango1.0-dev \ | |
| libgdk-pixbuf2.0-dev \ | |
| libffi-dev \ | |
| fontconfig \ | |
| fonts-liberation \ | |
| libharfbuzz-dev \ | |
| libfreetype-dev \ | |
| libjpeg-dev \ | |
| libpng-dev \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Copy requirements trước để tận dụng caching của Docker | |
| COPY requirements.txt ./ | |
| RUN pip3 install --no-cache-dir -r requirements.txt | |
| # Copy toàn bộ code vào container | |
| COPY . . | |
| # Tạo thư mục static nếu chưa tồn tại | |
| RUN mkdir -p static | |
| # Cấp quyền truy cập | |
| RUN chmod -R 755 . | |
| # Thiết lập biến môi trường | |
| ENV LC_ALL=C.UTF-8 | |
| ENV LANG=C.UTF-8 | |
| # Mở cổng cho Streamlit | |
| EXPOSE 8501 | |
| # Kiểm tra sức khỏe của ứng dụng | |
| HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health || exit 1 | |
| # Khởi chạy ứng dụng Streamlit | |
| ENTRYPOINT ["streamlit", "run", "Home.py", "--server.port=8501", "--server.address=0.0.0.0"] | |