adoravelc commited on
Commit
4040596
·
verified ·
1 Parent(s): d9a9c48

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +33 -11
Dockerfile CHANGED
@@ -1,23 +1,45 @@
1
- # Gunakan Python 3.9 sebagai dasar
2
  FROM python:3.9
3
 
4
- # Set folder kerja di dalam container
 
5
  WORKDIR /app
6
 
7
- # Copy requirements dan install library
8
- COPY requirements.txt requirements.txt
9
- RUN pip install --no-cache-dir -r requirements.txt
10
 
11
- # Buat folder untuk cache transformer (biar gak error permission)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  RUN mkdir -p /app/cache
13
  ENV TRANSFORMERS_CACHE=/app/cache
14
- RUN chmod -R 777 /app
 
 
 
 
15
 
16
- # Copy semua file project ke dalam container
17
- COPY . .
18
 
19
- # Buka port 7860 (Port wajib Hugging Face)
20
  EXPOSE 7860
21
 
22
- # Jalankan aplikasi
23
  CMD ["python", "app.py"]
 
1
+ # Gunakan Python 3.9
2
  FROM python:3.9
3
 
4
+ # Buat user baru (keamanan Hugging Face)
5
+ RUN useradd -m -u 1000 user
6
  WORKDIR /app
7
 
8
+ # --- SETTING PENTING: Kasih tahu NLTK harus cari data di mana ---
9
+ ENV NLTK_DATA=/app/nltk_data
 
10
 
11
+ # Install Library
12
+ COPY --chown=user requirements.txt requirements.txt
13
+ RUN pip install --no-cache-dir --upgrade pip && \
14
+ pip install --no-cache-dir -r requirements.txt
15
+
16
+ # --- DOWNLOAD NLTK DATA (FIX ERROR) ---
17
+ # Kita buat foldernya dulu
18
+ RUN mkdir -p /app/nltk_data
19
+
20
+ # Download Stopwords, Punkt, dan VADER (sesuai request error log)
21
+ # -d /app/nltk_data artinya: "Download ke folder ini woy!"
22
+ RUN python -m nltk.downloader -d /app/nltk_data stopwords punkt punkt_tab vader_lexicon
23
+ # --------------------------------------
24
+
25
+ # Atur Izin (Permission) agar user bisa baca/tulis
26
+ RUN chown -R user:user /app
27
+ RUN chmod -R 777 /app/nltk_data
28
+
29
+ # Setting Cache Transformers (biar model AI gak error permission)
30
  RUN mkdir -p /app/cache
31
  ENV TRANSFORMERS_CACHE=/app/cache
32
+ ENV HF_HOME=/app/cache
33
+ RUN chmod -R 777 /app/cache
34
+
35
+ # Copy sisa file project
36
+ COPY --chown=user . .
37
 
38
+ # Switch ke user biasa
39
+ USER user
40
 
41
+ # Buka Port
42
  EXPOSE 7860
43
 
44
+ # Jalankan
45
  CMD ["python", "app.py"]