File size: 1,013 Bytes
b1e6e49
7ab7ce0
b544dec
 
 
 
 
 
455e619
 
b544dec
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
455e619
b1e6e49
 
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
# Dockerfile (Perbaikan Izin)

# 1. Gunakan base image Python yang stabil
FROM python:3.11-slim

# 2. Set direktori kerja di dalam container
WORKDIR /app

# 3. Instal dependensi sistem yang diperlukan (git dan git-lfs) SEBAGAI ROOT
RUN apt-get update && apt-get install -y git git-lfs && git-lfs install

# 4. Salin file requirements terlebih dahulu untuk caching
COPY requirements.txt .

# 5. Instal semua pustaka Python yang diperlukan
RUN pip install --no-cache-dir --upgrade pip
RUN pip install --no-cache-dir -r requirements.txt gunicorn

# 6. Salin semua file proyek lainnya
COPY . .

# 7. Jadikan skrip setup bisa dieksekusi
RUN chmod +x setup.sh

# 8. Beri tahu Docker port mana yang akan didengarkan
EXPOSE 7860

# 9. Perintah untuk menjalankan aplikasi
# Jalankan setup.sh untuk mengunduh model, LALU jalankan server Gunicorn.
# Semua akan berjalan sebagai root, yang akan menyelesaikan masalah izin.
CMD ["/bin/bash", "-c", "./setup.sh && gunicorn --bind 0.0.0.0:7860 --timeout 600 --preload app:app"]