Spaces:
Sleeping
Sleeping
| # 1. Gunakan "base image" resmi Python versi 3.10 yang ramping | |
| FROM python:3.10-slim | |
| # 2. Set label untuk mendeskripsikan image | |
| LABEL maintainer="suyagi" | |
| LABEL description="Docker image for an Indonesian Chatbot with IndoBART" | |
| # Set environment variable agar cache disimpan di dalam folder proyek kita | |
| ENV HF_HOME=/code/cache | |
| ENV PYTHONDONTWRITEBYTECODE 1 | |
| ENV PYTHONUNBUFFERED 1 | |
| # 3. Set direktori kerja di dalam container | |
| WORKDIR /code | |
| # 4. Salin file requirements.txt terlebih dahulu untuk optimisasi cache Docker | |
| COPY requirements.txt . | |
| # 5. Install semua library Python yang dibutuhkan | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| # --- PERBAIKAN FINAL: Buat folder cache & beri izin tulis --- | |
| # Perintah ini secara eksplisit membuat direktori cache dan memberikan | |
| # izin baca/tulis/eksekusi kepada semua user. Ini memastikan | |
| # proses aplikasi nanti PASTI bisa menulis di sini. | |
| RUN mkdir -p /code/cache && chmod -R 777 /code/cache | |
| # ------------------------------------------------------------- | |
| # 6. Salin semua file proyek lainnya (app.py, dll.) ke dalam direktori kerja | |
| COPY . . | |
| # 7. Beri tahu Docker bahwa container akan mendengarkan di port 7860 (port default Gradio) | |
| EXPOSE 7860 | |
| # 8. Perintah yang akan dijalankan saat container start | |
| CMD ["python", "app.py", "--server_name", "0.0.0.0"] |