paiutz commited on
Commit
2283a4c
·
verified ·
1 Parent(s): 52a8daa

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +41 -0
Dockerfile ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Dockerfile per HuggingFace Spaces - TVProxy con Gunicorn
2
+
3
+ # 1. Usa l'immagine base ufficiale di Python 3.12 slim
4
+ FROM python:3.12-slim
5
+
6
+ # 2. Installa git e certificati SSL (per clonare da GitHub e HTTPS)
7
+ RUN apt-get update && apt-get install -y \
8
+ git \
9
+ ca-certificates \
10
+ curl \
11
+ && rm -rf /var/lib/apt/lists/*
12
+
13
+ # 3. Imposta la directory di lavoro
14
+ WORKDIR /app
15
+
16
+ # 4. Clona il repository da GitHub
17
+ RUN git clone https://github.com/nzo66/tvproxy.git .
18
+
19
+ # 5. Aggiorna pip e installa le dipendenze senza cache
20
+ RUN pip install --upgrade pip
21
+ RUN pip install --no-cache-dir -r requirements.txt
22
+
23
+ # 6. Espone la porta 7860 per HuggingFace Spaces
24
+ EXPOSE 7860
25
+
26
+ # 7. Comando per avviare Gunicorn ottimizzato per HuggingFace Spaces
27
+ # - 2 worker (limite per Spaces gratuiti)
28
+ # - Worker class sync (più stabile per proxy HTTP)
29
+ # - Timeout adeguati per streaming
30
+ # - Logging su stdout/stderr
31
+ CMD ["gunicorn", "app:app", \
32
+ "-w", "2", \
33
+ "--worker-class", "sync", \
34
+ "-b", "0.0.0.0:7860", \
35
+ "--timeout", "120", \
36
+ "--keep-alive", "5", \
37
+ "--max-requests", "500", \
38
+ "--max-requests-jitter", "50", \
39
+ "--access-logfile", "-", \
40
+ "--error-logfile", "-", \
41
+ "--log-level", "info"]