Spaces:
Sleeping
Sleeping
| # Dockerfile — AKIRA V19 (Dezembro 2025) | |
| # Otimizado para Hugging Face Spaces (CPU básico) | |
| FROM python:3.11-slim | |
| # Variáveis de ambiente | |
| ENV DEBIAN_FRONTEND=noninteractive \ | |
| PYTHONUNBUFFERED=1 \ | |
| PYTHONDONTWRITEBYTECODE=1 \ | |
| PIP_NO_CACHE_DIR=1 \ | |
| PIP_DISABLE_PIP_VERSION_CHECK=1 | |
| WORKDIR /app | |
| # Instala apenas ferramentas essenciais (SEM build-essential) | |
| RUN apt-get update && \ | |
| apt-get install -y --no-install-recommends \ | |
| curl \ | |
| ca-certificates && \ | |
| rm -rf /var/lib/apt/lists/* | |
| # Copia arquivos de configuração primeiro (cache Docker) | |
| COPY requirements.txt . | |
| # Instala dependências Python com --prefer-binary (evita compilação) | |
| RUN pip install --upgrade pip && \ | |
| pip install --no-cache-dir --prefer-binary -r requirements.txt | |
| # Copia código da aplicação | |
| COPY modules/ modules/ | |
| COPY main.py . | |
| # Healthcheck (verifica se API está respondendo) | |
| HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \ | |
| CMD curl -f http://localhost:7860/health || exit 1 | |
| # Expõe porta | |
| EXPOSE 7860 | |
| # Comando de inicialização (Gunicorn para produção) | |
| CMD ["gunicorn", "--bind", "0.0.0.0:7860", "--workers", "2", "--threads", "4", "--timeout", "120", "main:app"] |