organify-docker / Dockerfile
suyagi's picture
Update Dockerfile
ef40a20 verified
# 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"]