Spaces:
Running
Running
| # 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"] | |