Skip to content
Dockerfile 1.73 KiB
Newer Older
FROM lofaruser/imaging-pipeline:v3.10

# Set non-interactive
ENV DEBIAN_FRONTEND noninteractive

# Always update when extending base images
RUN apt update


#------------------------
# Install deps
#------------------------

# Git, Curl, sudo and  Nano
RUN apt-get install git curl sudo nano -y


#------------------------
# Lofar user
#------------------------

# Add group. We chose GID 65527 to try avoiding conflicts.
RUN groupadd -g 65527 lofar

# Add user. We chose UID 65527 to try avoiding conflicts.
RUN useradd lofar -d /home/lofar -u 65527 -g 65527 -m -s /bin/bash

# Add metuaser user to sudoers
RUN adduser lofar sudo

# No pass sudo (for everyone, actually)
COPY sudoers /etc/sudoers


#------------------------
# Get prefactor
#------------------------

RUN cd /opt && git clone https://github.com/lofar-astron/prefactor
RUN cd /opt/prefactor && git pull && git checkout d4f18ff # V3.0 tag hash

# Add conf and run scripts
COPY pipeline.cfg /home/lofar/pipeline.cfg
COPY Pre-Facet-Calibrator.parset /home/lofar/Pre-Facet-Calibrator.parset
COPY Pre-Facet-Target.parset /home/lofar/Pre-Facet-Target.parset
COPY run_pipelines.sh /home/lofar/run_pipelines.sh
COPY data/input_data /input_data
COPY data/output_data /output_data
RUN chmod 755 -R /home/lofar/run_pipelines.sh && chown lofar:lofar /home/lofar && chown -R lofar:lofar /input_data && chown -R lofar:lofar /output_data

# This is required mainly for Singularity
RUN mv /home/lofar /home/vanilla_lofar
RUN ln -s /tmp/lofarhome /home/lofar
RUN rm -rf /tmp/lofarhome


#----------------------
# Entrypoint
#----------------------

# Copy entrypoint
COPY entrypoint.sh /

# Give right permissions
RUN chmod 755 /entrypoint.sh

# Set entrypoint
ENTRYPOINT ["/entrypoint.sh"]

# Set user lofar
USER lofar