# ============================================================
# DOCKERFILE.STAGE - Development/Staging (Hot Reload)
# ============================================================
# 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
ENV ENV=development

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

# Cài đặt thư viện Python (với cache mount)
RUN 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 với hot reload
# ⚡ Hot reload - tự động restart khi code thay đổi (dùng cho dev/stage)
CMD ["uvicorn", "server:app", "--host", "0.0.0.0", "--port", "5000", "--reload"]
