testt / Dockerfile
poppy89's picture
Update Dockerfile
36f9154 verified
# 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", "-"]