# Read the doc: https://huggingface.co/docs/hub/spaces-sdks-docker # you will also find guides on how best to write your Dockerfile FROM python:3.9 # Instalar dependências do sistema necessárias para Playwright RUN apt-get update && apt-get install -y \ wget \ gnupg \ ca-certificates \ fonts-liberation \ libasound2 \ libatk-bridge2.0-0 \ libatk1.0-0 \ libatspi2.0-0 \ libcups2 \ libdbus-1-3 \ libdrm2 \ libgbm1 \ libgtk-3-0 \ libnspr4 \ libnss3 \ libwayland-client0 \ libxcomposite1 \ libxdamage1 \ libxfixes3 \ libxkbcommon0 \ libxrandr2 \ xdg-utils \ libu2f-udev \ libvulkan1 \ && rm -rf /var/lib/apt/lists/* RUN useradd -m -u 1000 user USER user ENV PATH="/home/user/.local/bin:$PATH" WORKDIR /app # O contexto de build é a pasta backend/, então copiamos do diretório atual COPY --chown=user requirements.txt requirements.txt RUN pip install --no-cache-dir --upgrade -r requirements.txt # Instalar navegadores do Playwright (apenas os binários, dependências já instaladas acima) RUN playwright install chromium # Copiar arquivo principal da API (no Hugging Face Spaces o arquivo se chama app.py) COPY --chown=user app.py /app/app.py # Definir PYTHONPATH para garantir que o Python encontre os módulos ENV PYTHONPATH=/app # Verificar que os arquivos foram copiados e podem ser importados RUN ls -la /app/ && python -c "import app; print('✅ Módulo app importado com sucesso')" || echo "⚠️ Aviso: Não foi possível importar app durante o build" CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]