| # Usa un'immagine Python 3.11, più stabile e compatibile con molte librerie ML | |
| FROM python:3.11-slim | |
| # Crea un utente non-root per sicurezza | |
| RUN useradd -m -u 1000 user | |
| USER user | |
| # Aggiungi la directory dei binari dell'utente al PATH | |
| ENV PATH="/home/user/.local/bin:$PATH" | |
| # Imposta la directory di lavoro | |
| WORKDIR /app | |
| # Copia solo il file dei requisiti prima, per sfruttare la cache di Docker | |
| COPY --chown=user: ./requirements.txt requirements.txt | |
| # Installa i pacchetti Python | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| # Copia tutto il resto del codice dell'applicazione | |
| COPY --chown=user: . /app | |
| # Esponi la porta che Hugging Face Spaces si aspetta (o la tua porta) | |
| EXPOSE 7860 | |
| # Comando per avviare l'applicazione | |
| CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"] |