# Sử dụng Python 3.11 Slim để tối ưu dung lượng
FROM python:3.11-slim

# Thiết lập thư mục làm việc
WORKDIR /app

# Thiết lập biến môi trường để log in ra ngay lập tức
ENV PYTHONUNBUFFERED=1
ENV PYTHONDONTWRITEBYTECODE=1

# Copy requirements.txt trước để tận dụng Docker cache
COPY requirements.txt .

# Cài đặt thư viện Python (Sử dụng cache mount để siêu nhanh)
RUN --mount=type=cache,target=/root/.cache/pip \
    pip install -r requirements.txt

# Copy toàn bộ source code vào image
COPY . .

# Expose port 5000 (Port chạy server)
EXPOSE 5000

# Lệnh chạy server dùng uvicorn
CMD ["uvicorn", "server:app", "--host", "0.0.0.0", "--port", "5000"]
