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