| FROM python:3.12-slim | |
| # FROM python:3.12 | |
| ARG task_type | |
| ENV TASK_TYPE=$task_type | |
| ENV EXECUTE_IN_DOCKER=1 | |
| RUN groupadd -r algorithm && useradd -m --no-log-init -r -g algorithm algorithm | |
| RUN mkdir -p /opt/algorithm /input /output \ | |
| && chown algorithm:algorithm /opt/algorithm /input /output | |
| USER algorithm | |
| WORKDIR /opt/algorithm | |
| ENV PATH="/home/algorithm/.local/bin:${PATH}" | |
| # ENV nnUNet_preprocessed="/opt/algorithm/nnunet_preprocessed" | |
| # ENV nnUNet_results="/opt/algorithm/nnunet_results" | |
| # ENV nnUNet_raw="/opt/algorithm/nnunet_raw" | |
| # ENV PYTHONPATH="/opt/algorithm/nnUNetv2:$PYTHONPATH" | |
| RUN python -m pip install --user -U pip | |
| COPY --chown=algorithm:algorithm requirements.txt /opt/algorithm/ | |
| RUN python -m pip install --user -r requirements.txt | |
| COPY --chown=algorithm:algorithm nnsyn /opt/algorithm/nnsyn | |
| RUN cd /opt/algorithm/nnsyn && python -m pip install --user -e . | |
| RUN mkdir -p /opt/algorithm/nnunet_raw \ | |
| /opt/algorithm/nnunet_preprocessed \ | |
| && chown -R algorithm:algorithm /opt/algorithm/nnunet_raw /opt/algorithm/nnunet_preprocessed | |
| COPY --chown=algorithm:algorithm .env /opt/algorithm/ | |
| COPY --chown=algorithm:algorithm process.py /opt/algorithm/ | |
| COPY --chown=algorithm:algorithm base_algorithm.py /opt/algorithm/ | |
| # COPY --chown=algorithm:algorithm nnunet_preprocessed/ /opt/algorithm/nnunet_preprocessed | |
| # COPY --chown=algorithm:algorithm nnunet_raw/ /opt/algorithm/nnunet_raw | |
| COPY --chown=algorithm:algorithm nnunet_results/ /opt/algorithm/nnunet_results | |
| COPY --chown=algorithm:algorithm 260_gt_nnUNetResEncUNetLPlans.json /opt/algorithm/ | |
| COPY --chown=algorithm:algorithm 262_gt_nnUNetResEncUNetLPlans.json /opt/algorithm/ | |
| COPY --chown=algorithm:algorithm 264_gt_nnUNetResEncUNetLPlans.json /opt/algorithm/ | |
| COPY --chown=algorithm:algorithm revert_normalisation.py /opt/algorithm/ | |
| COPY --chown=algorithm:algorithm dynamic-network-architectures/ /opt/algorithm/dynamic-network-architectures | |
| RUN cd /opt/algorithm/dynamic-network-architectures && python -m pip install --user -e . | |
| ENTRYPOINT python -m process $0 $@ | |