Spaces:
Sleeping
Sleeping
| # 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"] |