File size: 1,170 Bytes
2b74789
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 1. Gunakan Python 3.9 (Versi paling stabil untuk Scikit-Learn & Pandas)
FROM python:3.9

# 2. Set folder kerja di dalam container (Virtual Computer)
WORKDIR /code

# 3. Copy file requirements.txt terlebih dahulu
# (Tujuannya agar Docker bisa 'cache' proses install library, biar cepat kalau deploy ulang)
COPY ./requirements.txt /code/requirements.txt

# 4. Install library yang ada di requirements.txt
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt

# 5. Copy seluruh sisa file proyek (folder app, model_artifacts, main.py, dll) ke dalam container
COPY . /code

# 6. Atur izin (Permissions)
# Hugging Face menjalankan aplikasi sebagai user 'non-root' (user ID 1000).
# Kita harus memberi izin akses ke folder cache agar aplikasi tidak error saat menulis file sementara.
RUN mkdir -p /code/cache
RUN chmod -R 777 /code

# Set Environment Variable untuk Cache (biar library ML gak bingung nyimpan cache dimana)
ENV XDG_CACHE_HOME=/code/cache

# 7. Perintah Menyalakan Server
# PENTING: Hugging Face WAJIB menggunakan port 7860. Jangan diganti ke 8000.
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860"]