File size: 1,111 Bytes
5db7fac
 
fec5221
0fdfd7f
5db7fac
0fdfd7f
 
e6ec895
93c9b55
00aa2b1
93c9b55
00aa2b1
85c5664
5db7fac
 
 
0fdfd7f
 
5db7fac
 
0fdfd7f
5db7fac
 
 
 
0fdfd7f
5db7fac
 
0fdfd7f
5db7fac
 
 
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
# Adım 1: Sunucunun hangi Python versiyonunu kullanacağını emret
# Bu, tüm versiyon uyumsuzluğu sorunlarını kökünden çözer.
FROM python:3.12-slim

# Adım 2: Proje dosyaları için bir çalışma klasörü oluştur
WORKDIR /app

RUN mkdir /app/cache && chmod -R 777 /app/cache

ENV HF_HOME=/app/cache

ENV TRANSFORMERS_CACHE=/app/cache

# Adım 3: Önce sadece kütüphane listesini kopyala
# Bu, Docker'ın önbellek mekanizmasını akıllıca kullanır.
# Eğer kodun değişir ama kütüphanelerin değişmezse, bu adımı tekrar yapmaz ve zamandan kazanır.
COPY requirements.txt ./

# Adım 4: Kütüphaneleri kur
RUN pip install -r requirements.txt

# Adım 5: Projenin geri kalan tüm dosyalarını kopyala
# Bu tek komut, app.py, src/, data/, assets/ dahil olmak üzere
# klasördeki her şeyi sunucuya kopyalar.
COPY . .

# Adım 6: Uygulamanın çalışacağı portu belirt
EXPOSE 8501

# Adım 7: Uygulamayı başlatma komutunu belirt
# Hugging Face, sağlık kontrolünü bu porta göre otomatik yapar.
CMD ["streamlit", "run", "app.py", "--server.port=8501", "--server.address=0.0.0.0"]