# Sử dụng hình ảnh cơ bản của Python
FROM python:3.9-slim

# Đặt biến môi trường
ENV PYTHONUNBUFFERED=1

# Tạo thư mục làm việc
WORKDIR /app

# Cập nhật và cài đặt libgl1 và libglib2.0-0
RUN apt-get update && apt-get install -y \
    libgl1 \
    libglib2.0-0 \
    && rm -rf /var/lib/apt/lists/*

# Tạo user và thư mục home
RUN useradd -m user && chown -R user:user /app

# Chuyển sang user mới
USER user
ENV HOME=/home/user \
    PATH=/home/user/.local/bin:$PATH

# Sao chép tệp requirements.txt vào thư mục làm việc
COPY requirements.txt /app/

# Cài đặt các phụ thuộc
RUN pip install --no-cache-dir --upgrade pip && \
    pip install --no-cache-dir --upgrade -r requirements.txt

# Sao chép mã nguồn ứng dụng vào thư mục làm việc
COPY --chown=user . /app

# Đặt lệnh khởi động ứng dụng Flask
CMD ["hypercorn", "app:app", "-b", "0.0.0.0:7860"]