Spaces:
Sleeping
Sleeping
Create Dockerfile
Browse files- Dockerfile +29 -0
Dockerfile
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Tahap 1: Gunakan image Python resmi sebagai dasar
|
2 |
+
# Pilih versi Python yang sesuai dengan yang Anda gunakan di lokal
|
3 |
+
# python:3.11-slim adalah pilihan yang baik dan ringan
|
4 |
+
FROM python:3.11-slim
|
5 |
+
|
6 |
+
# Tetapkan direktori kerja di dalam container
|
7 |
+
# Semua perintah selanjutnya akan dijalankan dari direktori ini
|
8 |
+
WORKDIR /app
|
9 |
+
|
10 |
+
# Salin file requirements.txt terlebih dahulu
|
11 |
+
# Ini memanfaatkan caching Docker. Jika requirements.txt tidak berubah,
|
12 |
+
# layer ini tidak akan dibangun ulang, mempercepat proses build.
|
13 |
+
COPY requirements.txt .
|
14 |
+
|
15 |
+
# Install semua library yang dibutuhkan
|
16 |
+
# --no-cache-dir untuk menjaga ukuran image tetap kecil
|
17 |
+
RUN pip install --no-cache-dir -r requirements.txt
|
18 |
+
|
19 |
+
# Salin semua file proyek dari lokal ke direktori kerja di dalam container
|
20 |
+
COPY . .
|
21 |
+
|
22 |
+
# Tetapkan environment variable untuk memberitahu Gunicorn port mana yang harus didengarkan.
|
23 |
+
# Hugging Face Spaces secara otomatis menyediakan port 7860.
|
24 |
+
ENV PORT=7860
|
25 |
+
|
26 |
+
# Perintah untuk menjalankan aplikasi saat container dimulai.
|
27 |
+
# INI ADALAH BAGIAN PALING KRUSIAL!
|
28 |
+
# 'CMD' adalah instruksi "run".
|
29 |
+
CMD gunicorn --bind 0.0.0.0:${PORT} app:server
|