| # Gunakan base image Python yang stabil dan sering digunakan di ML | |
| FROM python:3.10 | |
| # Tetapkan direktori kerja di dalam container | |
| WORKDIR /app | |
| # --- Langkah 1: Instal Dependensi --- | |
| # Salin requirements.txt dari folder 'backend' ke /app | |
| COPY backend/requirements.txt . | |
| # Instal semua pustaka (termasuk torch, transformers, fastapi, gunicorn) | |
| # --no-cache-dir untuk menghemat ruang disk di container | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| # --- Langkah 2: Salin Kode dan Data --- | |
| # Salin semua isi folder 'backend' (api.py, models/, dataset) ke /app | |
| COPY backend/ /app | |
| # --- Langkah 3: Konfigurasi Server --- | |
| # Expose port standar yang digunakan Hugging Face Spaces | |
| EXPOSE 7860 | |
| # Command untuk menjalankan server menggunakan Gunicorn (disarankan untuk produksi) | |
| # Gunicorn menjalankan Uvicorn worker untuk stabilitas. | |
| # api:app berarti file 'api.py' dan objek FastAPI bernama 'app' | |
| CMD ["gunicorn", "api:app", "--workers", "1", "--worker-class", "uvicorn.workers.UvicornWorker", "--bind", "0.0.0.0:7860"] |