Skip to content
Snippets Groups Projects
Dockerfile 2.88 KiB
Newer Older
Mattia Mancini's avatar
Mattia Mancini committed
FROM kernsuite/base:4 as builder
SHELL ["/bin/bash", "-c"]

Mattia Mancini's avatar
Mattia Mancini committed
RUN export DEBIAN_FRONTEND=noninteractive && \ 
    apt-get update && \
    apt-get install -y \
        casacore-data \
        casacore-dev \
        libboost-python-dev \
        libcfitsio-dev \
        python-dev \
        python3-numpy \
        cmake \
        build-essential \
        libhdf5-serial-dev \
        libarmadillo-dev \
        lofar-dev \
        libboost-filesystem-dev \
        libboost-system-dev \
        libboost-date-time-dev \
        libboost-signals-dev \ 
        libboost-program-options-dev \
        libboost-test-dev \
        libxml2-dev \
        libpng-dev \
        pkg-config \
        aoflagger-dev \
        libgtkmm-3.0-dev \
        git \
        wget \
        libfftw3-dev

RUN mkdir -p /src/
WORKDIR /src/


# Build the IDG version from source


ADD ./idg /src/idg/src
RUN mkdir idg/build && cd idg/build && cmake -DCMAKE_INSTALL_PREFIX=/usr/local/ ../src && make install -j2

ADD ./DP3 /src/dp3/src
RUN cd /src/dp3/  && \
    mkdir build && \
    cd build && \
    cmake ../src -DCMAKE_INSTALL_PREFIX=/usr/local/ &&\
    make -j2 && \
    make install -j2


#----------------------------------------------
FROM kernsuite/base:4 as runner

COPY --from=builder /usr/local/ /usr/local

SHELL ["/bin/bash", "-c"]

RUN export DEBIAN_FRONTEND=noninteractive && \
    apt-get update && \
    apt-get install -y \
        aoflagger \
        casacore-data \
        libarmadillo8 \
        libboost-date-time1.65.1 \
        libboost-filesystem1.65.1 \
        libboost-python1.65.1 \
        libboost-program-options1.65.1 \
        libboost-system1.65.1 \
        libboost-signals1.65.1 \
        libboost-test1.65.1 \
        libcfitsio5 \ 
        libgtkmm-3.0 \
        libfftw3-3 \
        libhdf5-cpp-100 \
        libpng16-16 \
        libstationresponse0 \ 
        libxml2 \
        python3 \
        python3-casacore \
        python3-numpy \
Mattia Mancini's avatar
Mattia Mancini committed
        python3-scipy && \
    rm -rf /var/lib/apt/lists/*

Mattia Mancini's avatar
Mattia Mancini committed
RUN mkdir /home/lofaruser/ && \ 
    groupadd -r lofaruser && \
    useradd --no-log-init -r -g lofaruser lofaruser && \
    chown lofaruser:lofaruser /home/lofaruser
Mattia Mancini's avatar
Mattia Mancini committed
ARG LSMTool_TAG=master
    
RUN apt-get update && apt-get install -y nodejs python3-pip git wsclean
Mattia Mancini's avatar
Mattia Mancini committed
RUN python3 -m pip install cwltool cwl-runner -e "git://github.com/darafferty/LSMTool.git@${LSMTool_TAG}#egg=LSMTool"
Tammo Jan Dijkema's avatar
Tammo Jan Dijkema committed

ADD L570745_uv_first10.MS.tar.xz /data
Mattia Mancini's avatar
Mattia Mancini committed
ADD skymodels.tar.gz /data/skymodels
Mattia Mancini's avatar
Mattia Mancini committed
ADD ./test_data/* /data/
ADD .entrypoint /home/lofaruser/.entrypoint
RUN chown lofaruser:lofaruser /home/lofaruser/.entrypoint && \ 
    chmod +rx /home/lofaruser/.entrypoint
WORKDIR /home/lofaruser
COPY scripts/* /usr/local/bin/
RUN chmod +rx /usr/local/bin/*
Mattia Mancini's avatar
Mattia Mancini committed
ENV PYTHONPATH="/usr/local/bin:${PYTHONPATH}"
ENTRYPOINT ["/home/lofaruser/.entrypoint"]
USER lofaruser
Mattia Mancini's avatar
Mattia Mancini committed

ARG IDG_TAG=master
LABEL IDG.version.tag=${IDG_TAG}

ARG DP3_TAG=master
LABEL DP3.version.tag=${DP3_TAG}