File size: 1,405 Bytes
36f9154
 
 
63a32d8
 
36f9154
63a32d8
 
 
36f9154
63a32d8
 
36f9154
63a32d8
 
36f9154
 
 
 
 
7700e77
ac46d45
63a32d8
36f9154
 
 
 
 
63a32d8
 
 
36f9154
63a32d8
 
36f9154
 
 
 
 
63a32d8
36f9154
63a32d8
 
 
 
 
 
36f9154
 
 
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# Dockerfile per Flask Proxy Server con Gunicorn e logging su stdout/stderr

# 1. Usa l'immagine base ufficiale di Python 3.12 slim
FROM python:3.12-slim

# 2. Installa git e certificati SSL (per clonare da GitHub e HTTPS)
RUN apt-get update && apt-get install -y \
    git \
    ca-certificates \
    curl \
    && rm -rf /var/lib/apt/lists/*

# 3. Imposta la directory di lavoro
WORKDIR /app




# 5. Clona il repository (o copia il codice direttamente) nella working directory
#    Se vuoi usare il tuo repository remoto, decommenta la riga git clone:
RUN git clone https://github.com/nzo66/tvproxy .
COPY . .

# 4. Pre-crea la directory per i log e rendila scrivibile
RUN mkdir -p logs \
    && chmod 0777 logs

# 6. Aggiorna pip e installa le dipendenze senza cache
RUN pip install --upgrade pip
RUN pip install --no-cache-dir -r requirements.txt

# 7. Espone la porta 7860 per Flask/Gunicorn
EXPOSE 7860

# 8. Comando ottimizzato per avviare Gunicorn:
#    - 4 worker gevent
#    - connessioni keep-alive
#    - timeout adeguati
#    - logging su stdout/stderr
CMD ["gunicorn", "app:app", \
     "-w", "80", \
     "--worker-class", "gevent", \
     "--worker-connections", "100", \
     "-b", "0.0.0.0:7860", \
     "--timeout", "120", \
     "--keep-alive", "5", \
     "--max-requests", "1000", \
     "--max-requests-jitter", "100", \
     "--access-logfile", "-", \
     "--error-logfile", "-"]