eduai-backend / Dockerfile
Alstears's picture
Upload 64 files
f18a082 verified
# Menggunakan image Python resmi dan ringan
FROM python:3.11-slim
# Mencegah Python menulis file .pyc dan memastikan log langsung muncul
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
# Hugging Face menempatkan file di /app
ENV HOME=/app
WORKDIR $HOME
# Buat direktori yang dibutuhkan oleh aplikasi (audio, uploads) agar tidak error permission
RUN mkdir -p audio uploads
RUN chmod 777 audio uploads
# Update sistem dan install dependencies dasar (ffmpeg untuk audio jika diperlukan nantinya)
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
&& rm -rf /var/lib/apt/lists/*
# Copy file requirements dan install
COPY requirements.txt .
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir -r requirements.txt
# Copy seluruh source code backend ke dalam container
COPY . .
# Berikan izin ke seluruh folder agar Hugging Face (yang berjalan sebagai user biasa) bisa menulis file sementara
RUN chmod -R 777 $HOME
# Hugging Face mewajibkan aplikasi berjalan di port 7860
EXPOSE 7860
# Jalankan server FastAPI menggunakan uvicorn di port 7860
CMD ["uvicorn", "server:fastapi_app", "--host", "0.0.0.0", "--port", "7860", "--proxy-headers"]