| # Sử dụng Python 3.9 slim để giảm kích thước image | |
| FROM python:3.9-slim | |
| # Cài đặt FFmpeg và các thư viện hỗ trợ codec | |
| RUN apt-get update && apt-get install -y \ | |
| ffmpeg \ | |
| libavcodec-extra \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Thiết lập thư mục làm việc | |
| WORKDIR /app | |
| # Copy requirements.txt trước để tận dụng cache | |
| COPY requirements.txt . | |
| # Cài đặt các thư viện Python | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| # Copy toàn bộ mã nguồn (bao gồm app.py và model/) | |
| COPY . . | |
| # Chạy script tải model (nếu có), đảm bảo script tồn tại trong model/ | |
| RUN if [ -f "model/download_model.py" ]; then python model/download_model.py; fi | |
| # Chạy ứng dụng Flask | |
| CMD ["python", "app.py"] |