Files
SimurgArray/Dockerfile
T
kemal 76851b20a6
ci / test (3.12) (push) Failing after 11s
ci / test (3.13) (push) Failing after 10s
Release 2.0.0: v2 modules (ArrayTrain, CN/LOH, PGx, methylation QC)
User guide: ArrayTrain section, v2 commands in the table, v2 accuracy rows,
updated limitations. README status for v2.0.0. Version 2.0.0 (Python package);
the Rust kernels are unchanged and stay simurg_core 1.1.0. uv.lock committed
(uv lock --check clean).

Full suite on the Pi, file by file under the memory guard: 29 files exit 0
(unit: 282 passed), ruff and mypy clean.
2026-09-30 06:24:12 +01:00

29 lines
1.2 KiB
Docker

# SimurgArray container: the `simurg` CLI with the compiled kernels.
# docker build -t simurg:2.0.0 .
# docker run --rm -v "$PWD":/work simurg:2.0.0 genotype --bpm M.bpm --egt C.egt --idats idats --out run/gtc
# Inputs and outputs live in the mounted /work folder; the image holds no data.
ARG PYTHON=3.12
FROM python:${PYTHON}-slim-bookworm AS build
RUN apt-get update -q && apt-get install -y -q --no-install-recommends curl gcc libc6-dev \
&& rm -rf /var/lib/apt/lists/*
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal
ENV PATH=/root/.cargo/bin:$PATH
WORKDIR /src
COPY pyproject.toml README.md LICENSE THIRD_PARTY_NOTICES.md ./
COPY src ./src
COPY rust/simurg-core ./rust/simurg-core
RUN pip wheel --no-cache-dir --no-deps -w /wheels . ./rust/simurg-core
FROM python:${PYTHON}-slim-bookworm
LABEL org.opencontainers.image.title="SimurgArray" \
org.opencontainers.image.description="Research toolkit for Illumina Infinium genotyping BeadChip data" \
org.opencontainers.image.licenses="MIT"
COPY --from=build /wheels /wheels
RUN pip install --no-cache-dir /wheels/*.whl && rm -rf /wheels \
&& useradd --create-home --uid 1000 simurg
USER simurg
WORKDIR /work
ENTRYPOINT ["simurg"]
CMD ["--help"]