Commit cf3fba00 authored by Stefano Alberto Russo's avatar Stefano Alberto Russo
Browse files

Added Prefactor3 container.

parent bc6782c5
Loading
Loading
Loading
Loading
+24 −1
Original line number Diff line number Diff line
# containers
# LOFAR-IT Containers

Containers source by the Italian LOFAR group.

## Prefactor3

This container is based on the "lofaruser/imaging-pipeline:v3.10" base image, and it is available from Docker Hub as "lofarit/prefactor3:pipeline_v3.10".

How to run the container with Docker:

    docker run --rm -v $INPUT_DATA_FOLDER:/input_data,$OUTPUT_DATA_FOLDER:/output_data -it lofarit/prefactor3:pipeline_v3.10
    
How to run the container wth Singularity:

    singularity run --pid --writable-tmpfs --containall --cleanenv -B$INPUT_DATA_FOLDER:/input_data,$OUTPUT_DATA_FOLDER:/output_data docker://lofarit/prefactor3:pipeline_v3.10

In both cases you have to set the $INPUT_DATA_FOLDER and $OUTPUT_DATA_FOLDER to the input and output data folders respectively, on the host system (i.e. the machine on which you are running the container). Note that the output data folder must exists and have write permissions (if using Singularty, by the user running the container).

How to start prefactor3 once in the container:

    $ ./run_pipelines.sh

This command will run the calibrator and target pipelines in sequence. Feel free to have a look and change the files as pipeline.cfg, Pre-Facet-Calibrator.parset, Pre-Facet-Target.parset and run_pipelines.sh itself in the /home/lofar directory inside the container to suit your needs.

Remember that the contents of the container (excluding data on your external volumes as the input/output data directories) will be wiped when you exit the container.
 No newline at end of file

prefactor3/Dockerfile

0 → 100644
+71 −0
Original line number Diff line number Diff line
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
+1179 −0

File added.

Preview size limit exceeded, changes collapsed.

+893 −0

File added.

Preview size limit exceeded, changes collapsed.

+3 −0
Original line number Diff line number Diff line
#!/bin/bash

docker build  . -t lofarit/prefactor3:pipeline_v3.10
Loading