# Gunakan Python 3.9 FROM python:3.9 # Buat user baru (keamanan Hugging Face) RUN useradd -m -u 1000 user WORKDIR /app # --- SETTING PENTING: Kasih tahu NLTK harus cari data di mana --- ENV NLTK_DATA=/app/nltk_data # Install Library COPY --chown=user requirements.txt requirements.txt RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir -r requirements.txt # --- DOWNLOAD NLTK DATA (FIX ERROR) --- # Kita buat foldernya dulu RUN mkdir -p /app/nltk_data # Download Stopwords, Punkt, dan VADER (sesuai request error log) # -d /app/nltk_data artinya: "Download ke folder ini woy!" RUN python -m nltk.downloader -d /app/nltk_data stopwords punkt punkt_tab vader_lexicon # -------------------------------------- # Atur Izin (Permission) agar user bisa baca/tulis RUN chown -R user:user /app RUN chmod -R 777 /app/nltk_data # Setting Cache Transformers (biar model AI gak error permission) RUN mkdir -p /app/cache ENV TRANSFORMERS_CACHE=/app/cache ENV HF_HOME=/app/cache RUN chmod -R 777 /app/cache # Copy sisa file project COPY --chown=user . . # Switch ke user biasa USER user # Buka Port EXPOSE 7860 # Jalankan CMD ["python", "app.py"]