# Build after scripts/build.sh has produced upstream/frontend/dist.
FROM python:3.13-slim-bookworm
RUN apt-get update && apt-get install -y --no-install-recommends libgomp1 libglib2.0-0 ca-certificates \
    && rm -rf /var/lib/apt/lists/* \
    && groupadd -g 10001 construction && useradd -u 10001 -g construction -m construction
WORKDIR /app
COPY requirements.txt constraints-tested.txt ./
COPY upstream/backend ./upstream/backend
COPY upstream/frontend/dist ./upstream/frontend/dist
COPY upstream/data ./upstream/data
COPY upstream/packs ./upstream/packs
RUN python -c "import pathlib,tomllib; p=pathlib.Path('upstream/backend'); config=tomllib.loads((p/'pyproject.toml').read_text()); required=config['tool']['hatch']['build']['targets']['wheel']['force-include']; missing=[name for name in required if not (p/name).exists()]; assert not missing, missing"
RUN pip install --no-cache-dir -r requirements.txt
COPY scale ./scale
COPY assets ./assets
COPY LICENSE UPSTREAM.json ./
ENV PYTHONPATH=/app:/app/upstream/backend PYTHONUNBUFFERED=1
USER 10001:10001
WORKDIR /workspace
CMD ["python", "-m", "uvicorn", "scale.worker:create_app", "--factory", "--host", "0.0.0.0", "--port", "8000", "--no-access-log", "--log-level", "warning"]
