# Hugging Face Spaces — FastAPI DocBoard # Requisitos obrigatórios do HF: porta 7860 + usuário UID 1000 FROM python:3.11-slim # Criar usuário com UID 1000 (exigido pelo HF Spaces) RUN useradd -m -u 1000 appuser # Instalar dependências do sistema RUN apt-get update && apt-get install -y \ libpq-dev gcc curl \ && rm -rf /var/lib/apt/lists/* WORKDIR /app # Instalar dependências Python como root (mais rápido no build) COPY --chown=appuser requirements.txt . RUN pip install --no-cache-dir --upgrade -r requirements.txt # Copiar código da aplicação e script de inicialização COPY --chown=appuser . /app # Corrigir finais de linha do Windows (CRLF para LF) e dar permissão USER root RUN sed -i 's/\r$//' /app/start.sh && chmod +x /app/start.sh # Trocar para o usuário não-root USER appuser ENV HOME=/home/appuser PATH=/home/appuser/.local/bin:$PATH # Porta obrigatória do HF Spaces EXPOSE 7860 # Comando para rodar a aplicação (migrações + Gunicorn) via script CMD ["./start.sh"]