# Utiliza a imagem oficial do Python 3.11 reduzida FROM python:3.11-slim # Variáveis de ambiente para otimização do Python e do Hugging Face Hub ENV PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 \ HF_HOME=/home/user/.cache/huggingface # Criação de usuário não-root obrigatório para o Hugging Face Spaces (UID 1000) RUN useradd -m -u 1000 user # Define o diretório de trabalho com permissões para o usuário USER user ENV HOME=/home/user \ PATH=/home/user/.local/bin:$PATH WORKDIR $HOME/app # Cópia das dependências COPY --chown=user requirements.txt . # Instalação das dependências e da biblioteca de CPU do PyTorch para reduzir o tamanho da imagem RUN pip install --no-cache-dir -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cpu # Cópia do código-fonte do servidor COPY --chown=user app/ app/ # O Hugging Face Spaces encaminha o tráfego exclusivamente para a porta 7860 EXPOSE 7860 # Comando de inicialização do servidor ASGI na porta exigida CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860"]