FROM python:3.12-slim WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY app ./app # Não roda como root dentro do container — reduz o estrago de uma # eventual RCE (mesmo sem vulnerabilidade conhecida hoje, é uma # mitigação de baixo custo e sem efeito colateral aqui, já que a app não # precisa gravar nada no filesystem além de escutar a porta 8000, que não # é privilegiada). RUN useradd --no-create-home --shell /usr/sbin/nologin painel USER painel EXPOSE 8000 CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]