2023-12-20 14:59:51 +00:00
|
|
|
FROM golang:1.21.5-alpine3.19 as builder
|
2023-10-27 17:54:58 +00:00
|
|
|
|
|
|
|
|
RUN apk add --no-cache \
|
|
|
|
|
# Required for apptainer to find min go version
|
|
|
|
|
bash \
|
|
|
|
|
cryptsetup \
|
|
|
|
|
gawk \
|
|
|
|
|
gcc \
|
|
|
|
|
git \
|
|
|
|
|
libc-dev \
|
|
|
|
|
linux-headers \
|
|
|
|
|
libressl-dev \
|
|
|
|
|
libuuid \
|
|
|
|
|
libseccomp-dev \
|
|
|
|
|
make \
|
|
|
|
|
util-linux-dev
|
|
|
|
|
|
|
|
|
|
ARG APPTAINER_COMMITISH="main"
|
|
|
|
|
ARG MCONFIG_OPTIONS="--with-suid"
|
|
|
|
|
WORKDIR $GOPATH/src/github.com/apptainer
|
|
|
|
|
RUN git clone https://github.com/apptainer/apptainer.git \
|
|
|
|
|
&& cd apptainer \
|
|
|
|
|
&& git checkout "$APPTAINER_COMMITISH" \
|
|
|
|
|
&& ./mconfig $MCONFIG_OPTIONS -p /usr/local/apptainer \
|
|
|
|
|
&& cd builddir \
|
|
|
|
|
&& make \
|
|
|
|
|
&& make install
|
|
|
|
|
|
2023-12-20 14:59:51 +00:00
|
|
|
FROM alpine:3.19
|
2023-10-27 17:54:58 +00:00
|
|
|
COPY --from=builder /usr/local/apptainer /usr/local/apptainer
|
|
|
|
|
ENV PATH="/usr/local/apptainer/bin:$PATH" \
|
|
|
|
|
APPTAINER_TMPDIR="/tmp-apptainer"
|
2023-12-20 14:59:51 +00:00
|
|
|
RUN apk add --no-cache py3-pytest ca-certificates libseccomp squashfs-tools tzdata fuse2fs fuse-overlayfs squashfuse \
|
2024-02-20 20:09:38 +00:00
|
|
|
python3 py3-pip git openssh-client git-annex curl bzip2 bash glab jq\
|
2023-10-27 17:54:58 +00:00
|
|
|
&& mkdir -p $APPTAINER_TMPDIR \
|
|
|
|
|
&& cp /usr/share/zoneinfo/UTC /etc/localtime \
|
|
|
|
|
&& apk del tzdata \
|
|
|
|
|
&& rm -rf /tmp/* /var/cache/apk/*
|
|
|
|
|
|
2023-12-20 14:59:51 +00:00
|
|
|
RUN pip install --break-system-packages --no-cache-dir datalad datalad-container ssh_agent_setup python-gitlab
|
2024-02-16 20:08:06 +00:00
|
|
|
ADD cfg_nidataops.py /usr/lib/python3.11/site-packages/datalad/resources/procedures/
|
2023-10-27 17:54:58 +00:00
|
|
|
|
|
|
|
|
WORKDIR /work
|