Spaces:
Sleeping
Sleeping
File size: 1,563 Bytes
62d3e16 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# Gunakan image dasar Python yang ringan dan stabil
# Python 3.9 adalah versi yang umum dan cocok dengan banyak pustaka AI
FROM python:3.9-slim-buster
# Atur direktori kerja di dalam container.
# Semua operasi COPY dan RUN berikutnya akan dilakukan relatif terhadap direktori ini.
WORKDIR /app
# Salin file requirements.txt ke direktori kerja di container.
# Melakukan ini terlebih dahulu memungkinkan Docker untuk melakukan caching layer
# sehingga instalasi dependensi tidak perlu diulang jika hanya kode lain yang berubah.
COPY requirements.txt .
# Instal semua dependensi Python yang terdaftar di requirements.txt.
# --no-cache-dir akan mencegah pip menyimpan cache unduhan, menghemat ruang.
# -r requirements.txt membaca daftar paket dari file.
RUN pip install --no-cache-dir -r requirements.txt
# Salin semua file dan folder dari direktori lokal saat ini (root proyek kamu)
# ke direktori kerja di dalam container (/app).
# Ini termasuk main.py, model .h5, dan folder static/.
COPY . .
# Ekspos port yang akan digunakan aplikasi FastAPI kamu.
# Hugging Face Spaces secara internal akan mengarahkan traffic ke port 7860.
EXPOSE 7860
# Perintah untuk menjalankan aplikasi FastAPI kamu saat container dimulai.
# "uvicorn" adalah server ASGI.
# "main:app" berarti Uvicorn akan mencari objek bernama 'app' di file 'main.py'.
# "--host 0.0.0.0" membuat aplikasi dapat diakses dari luar container.
# "--port 7860" memastikan aplikasi mendengarkan pada port yang diharapkan oleh Hugging Face.
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"] |