# Gunakan base image Python yang ringan FROM python:3.9-slim as builder # Instal library sistem yang dibutuhkan untuk proses build RUN apt-get update && apt-get install -y \ build-essential \ && rm -rf /var/lib/apt/lists/* WORKDIR /code # Salin dan instal requirements dalam tahap builder COPY ./requirements.txt /code/requirements.txt RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt # --- Tahap Final --- # Mulai lagi dari base image yang bersih untuk runtime FROM python:3.9-slim # Instal HANYA library sistem yang dibutuhkan untuk menjalankan aplikasi RUN apt-get update && apt-get install -y \ libgl1-mesa-glx \ libglib2.0-0 \ && rm -rf /var/lib/apt/lists/* WORKDIR /code # Salin paket python yang sudah terinstal dari tahap builder COPY --from=builder /usr/local/lib/python3.9/site-packages /usr/local/lib/python3.9/site-packages # Salin kode aplikasi Anda COPY . /code/ EXPOSE 7860 # CMD tetap sama, memastikan aplikasi dijalankan dengan Gunicorn CMD ["gunicorn", "--workers", "3", "--bind", "0.0.0.0:7860", "--timeout", "120", "app:app"]