# Build (na raiz do repo, com o wheel já em dist/):
#   uv build packages/ncm-classificador
#   docker build -f packages/ncm-classificador/Dockerfile -t ncm-classificador .
# Run (o pacote-modelo entra por VOLUME — a imagem não embarca 1,3GB):
#   docker run -p 8000:8000 -v /caminho/do/pacote:/pacote:ro \
#     -e NCM_API_KEYS=troque-esta-chave ncm-classificador
FROM python:3.12-slim

RUN useradd --create-home appuser
USER appuser
WORKDIR /home/appuser

COPY dist/ncm_classificador-*.whl /tmp/
RUN pip install --no-cache-dir --user "$(ls /tmp/ncm_classificador-*.whl)[api]"
ENV PATH="/home/appuser/.local/bin:${PATH}" \
    NCM_PACOTE=/pacote

EXPOSE 8000
HEALTHCHECK --interval=30s --timeout=5s --start-period=30s \
  CMD python -c "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/healthz')"

CMD ["ncm", "servir", "--host", "0.0.0.0", "--porta", "8000"]
