# 1. Gunakan base image Python yang ringan FROM python:3.9-slim # 2. Tetapkan ENV untuk matplotlib dan NLTK # Ini memberitahu NLTK di mana harus mencari dan menyimpan data ENV MPLCONFIGDIR /tmp ENV NLTK_DATA /app/nltk_data # 3. Tetapkan direktori kerja di dalam container WORKDIR /app # 4. Salin file requirements terlebih dahulu untuk caching layer COPY requirements.txt . # 5. Install semua dependensi Python RUN pip install --no-cache-dir -r requirements.txt # --- PERBAIKAN UTAMA DI SINI --- # 6. Unduh data NLTK yang diperlukan selama proses build. # NLTK akan menggunakan ENV NLTK_DATA dan menyimpannya di /app/nltk_data RUN python -m nltk.downloader stopwords # 7. Salin sisa kode aplikasi ke dalam container COPY . . # 8. Expose port yang akan digunakan oleh Hugging Face (wajib 7860) EXPOSE 7860 # 9. Perintah untuk menjalankan aplikasi menggunakan Gunicorn CMD ["gunicorn", "--bind", "0.0.0.0:7860", "--workers", "1", "app:app"]