# The runner executes on linux/amd64. Build with
#   docker build --platform linux/amd64 --build-arg TASK=<task> -t <tag> .
# An arm64 image preloaded on an amd64 runner fails with "exec format error".
FROM python:3.11-slim@sha256:db3ff2e1800a8581e2c48a27c3995339d47bdf046da21c7627accd3d51053a93
ARG TARGETPLATFORM
RUN test "$TARGETPLATFORM" = "linux/amd64" || (echo "secure runner images must be built with --platform linux/amd64" >&2; exit 1)
RUN pip install --no-cache-dir \
    numpy==1.26.4 \
    nibabel==5.3.2 \
    torch==2.8.0 \
    monai==1.5.1
RUN groupadd -g 65532 model && useradd -u 65532 -g 65532 -M model
COPY run.py /app/run.py
ARG TASK
ENV TASK=${TASK}
ENV REQUIRE_CUDA=1
USER 65532:65532
ENTRYPOINT ["python", "/app/run.py"]
