Skip to content
Snippets Groups Projects
Commit 7566d454 authored by Jan David Mol's avatar Jan David Mol
Browse files

Task #8415: Added dynspec Dockerfile

parent da1d5077
No related branches found
No related tags found
No related merge requests found
......@@ -2356,6 +2356,9 @@ CMake/variants/variants.node521 -text
CMake/variants/variants.phi -text
CMake/variants/variants.sharkbay -text
Docker/docker-build-all.sh -text
Docker/dynspec/Dockerfile -text
Docker/dynspec/bashrc -text
Docker/dynspec/chuser.sh -text
Docker/lofar-base/Dockerfile.tmpl -text
Docker/lofar-base/bashrc -text
Docker/lofar-base/bashrc.d/00-casacore -text
......
......@@ -57,6 +57,7 @@ endforeach()
# Install everything else
install(DIRECTORY
dynspec
lofar-base
lofar-pipeline
lofar-outputproc
......
......@@ -12,5 +12,6 @@ cd ${LOFARROOT}/share/docker
build lofar-base && \
build lofar-pipeline && \
build lofar-outputproc && \
build lofar-tbb
build lofar-tbb && \
build dynspec
#
# base
#
FROM ubuntu:12.04
#
# common-environment
#
ENV USER=lofar
ENV INSTALLDIR=/opt
#
# environment
#
ENV DEBIAN_FRONTEND=noninteractive \
PYTHON_VERSION=2.7
#
# versions
# Requires boost 1.48
# Remove casacore?
#
ENV CASACORE_VERSION=2.0.3 \
CASAREST_VERSION=1.4.1 \
PYTHON_CASACORE_VERSION=2.0.1 \
BOOST_VERSION=1.48
#
# set-uid
#
ENV UID=1000
#
# set-build-options
#
ENV J=6
#
# Base and runtime dependencies
#
#RUN sed -i 's/archive.ubuntu.com/osmirror.rug.nl/' /etc/apt/sources.list
RUN apt-get update && apt-get upgrade -y
RUN apt-get install -y sudo
#python2.7 libpython2.7
# apt-get install -y libblas3 liblapacke python-numpy libcfitsio3 libwcs4 libfftw3-bin libhdf5-7 libboost-python${BOOST_VERSION}.0 && \
# apt-get install -y nano
#
# setup-account
#
RUN echo 'ALL ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && \
sed -i 's/requiretty/!requiretty/g' /etc/sudoers && \
useradd -m -u ${UID} ${USER} && \
chmod a+wr /etc/passwd /etc/group
#
# setup install dir
#
RUN mkdir -p ${INSTALLDIR} && chown ${USER}.${USER} ${INSTALLDIR}
USER ${USER}
#
# *******************
# Lofar User Software
# *******************
#
RUN sudo apt-get update && sudo apt-get upgrade -y && \
sudo apt-get install -y g++ gfortran flex swig bison subversion \
zlib1g-dev libatlas-base-dev liblapack-dev \
libncurses5-dev libfreetype6-dev libpng12-dev \
python-dev python-tk python-pyfits tk8.5-dev fftw3-dev \
libbz2-dev libghc-readline-dev \
git git git-core git-doc git-man git-svn \
valgrind
RUN sudo apt-get install -y libboost${BOOST_VERSION}-all-dev \
wcslib-dev \
cmake cmake-doc cmake-curses-gui make \
libgsl0-dev \
python-matplotlib \
python-sphinx \
libcfitsio3-dev \
python-numpy \
num-utils \
python-scipy \
libblas-dev \
python-sip-dev \
openmpi-bin openmpi-common \
ipython
RUN cd $INSTALLDIR && svn co http://usg.lofar.org/svn/code/trunk lofarsoft && \
export LOFARSOFT=${INSTALLDIR}/lofarsoft && . $LOFARSOFT/devel_common/scripts/init.sh && \
cd $LOFARSOFT && ./bootstrap && cd build && cmake -DCASACORE_FROM_LATEST_SVN_REVISION=ON . && make rebuild_cache && \
rm -rf $LOFARSOFT/src/Pulsar
ENV LOFARSOFT=${INSTALLDIR}/lofarsoft
RUN sudo apt-get install -y libhdf5-serial-dev python-h5py
RUN . $LOFARSOFT/devel_common/scripts/init.sh && cd $LOFARSOFT/build && make dal
RUN cd /opt/lofarsoft/src/Dynspec-Toolkit/Dynspec-CEP2/src/ICD3-ICD6-Rebin && \
g++ -O3 -s -Wall -o DynspecPart *cpp -I /opt/lofarsoft/release//include -L /opt/lofarsoft/release//lib -llofardal -lhdf5 && \
sudo ln -s /opt/lofarsoft/src/Dynspec-Toolkit/Dynspec-CEP2/Beam2Dynspec-Rebin /usr/local/bin/Beam2Dynspec-Rebin && \
sudo ln -s /opt/lofarsoft/src/Dynspec-Toolkit/Dynspec-CEP2/src/ICD3-ICD6-Rebin/DynspecPart /usr/local/bin/DynspecPart && \
cd /opt/lofarsoft/src/Dynspec-Toolkit/Dynspec-CEP2/src/ICD3-ICD6-Quicklook && \
g++ -O3 -s -Wall -o DynspecQuick *cpp -I /opt/lofarsoft/release//include -L /opt/lofarsoft/release//lib -llofardal -lhdf5 && \
sudo ln -s /opt/lofarsoft/src/Dynspec-Toolkit/Dynspec-CEP2/Beam2Dynspec-Quick /usr/local/bin/Beam2Dynspec-Quick && \
sudo ln -s /opt/lofarsoft/src/Dynspec-Toolkit/Dynspec-CEP2/src/ICD3-ICD6-Quicklook/DynspecQuick /usr/local/bin/DynspecQuick && \
cd /opt/lofarsoft/src/Dynspec-Toolkit/Dynspec-CEP2/src/ICD3-ICD6-Complete && \
g++ -O3 -s -Wall -o DynspecAll *cpp -I /opt/lofarsoft/release//include -L /opt/lofarsoft/release//lib -llofardal -lhdf5 && \
sudo ln -s /opt/lofarsoft/src/Dynspec-Toolkit/Dynspec-CEP2/Beam2Dynspec-Complete /usr/local/bin/Beam2Dynspec-Complete && \
sudo ln -s /opt/lofarsoft/src/Dynspec-Toolkit/Dynspec-CEP2/src/ICD3-ICD6-Complete/DynspecAll /usr/local/bin/DynspecAll && \
cd /opt/lofarsoft/src/Dynspec-Toolkit/Dynspec-Tool/src/ICD6-Linear-Polar && \
g++ -O3 -s -Wall -o Dynspec_Linear_Polar *cpp -I /opt/lofarsoft/release//include -L /opt/lofarsoft/release//lib -llofardal -lhdf5 && \
sudo ln -s /opt/lofarsoft/src/Dynspec-Toolkit/Dynspec-Tool/Dynspec-LinPol /usr/local/bin/Dynspec-LinPol && \
sudo ln -s /opt/lofarsoft/src/Dynspec-Toolkit/Dynspec-Tool/src/ICD6-Linear-Polar/Dynspec_Linear_Polar /usr/local/bin/Dynspec_Linear_Polar && \
cd /opt/lofarsoft/src/Dynspec-Toolkit/Dynspec-Tool/src/ICD6-Rebin && \
g++ -O3 -s -Wall -o Dyn2Dyn *cpp -I /opt/lofarsoft/release//include -L /opt/lofarsoft/release//lib -llofardal -lhdf5 && \
sudo ln -s /opt/lofarsoft/src/Dynspec-Toolkit/Dynspec-Tool/Dynspec-Rebin /usr/local/bin/Dynspec-Rebin && \
sudo ln -s /opt/lofarsoft/src/Dynspec-Toolkit/Dynspec-Tool/src/ICD6-Rebin/Dyn2Dyn /usr/local/bin/Dyn2Dyn && \
cd /opt/lofarsoft/src/Dynspec-Toolkit/Dynspec-Tool/src/ICD6-Substraction && \
g++ -O3 -s -Wall -o Dynspec_Substraction *cpp -I /opt/lofarsoft/release//include -L /opt/lofarsoft/release//lib -llofardal -lhdf5 && \
sudo ln -s /opt/lofarsoft/src/Dynspec-Toolkit/Dynspec-Tool/Dynspec-Substract /usr/local/bin/Dynspec-Substract && \
sudo ln -s /opt/lofarsoft/src/Dynspec-Toolkit/Dynspec-Tool/src/ICD6-Substraction/Dynspec_Substraction /usr/local/bin/Dynspec_Substraction
#
# config
#
COPY bashrc /opt/bashrc
#
# entry
#
#COPY ["bashrc", "bashrc.d", "${INSTALLDIR}/"]
COPY chuser.sh /usr/local/bin/chuser.sh
ENTRYPOINT ["/usr/local/bin/chuser.sh"]
#!/bin/bash
# lofar
[ -r ${INSTALLDIR}/lofar/lofarinit.sh ] && source ${INSTALLDIR}/lofar/lofarinit.sh
export PATH PYTHONPATH LD_LIBRARY_PATH LOFARROOT
# qpid
#source ${INSTALLDIR}/qpid/.profile
# lofarsoft
echo "sourcing init"
source ${LOFARSOFT}/devel_common/scripts/init.sh
export PYTHONPATH=$PYTHONPATH:${LOFARSOFT}/release/lib/python/dal
export LD_LIBRARY_PATH=LD_LIBRARY_PATH:${LOFARSOFT}/release/lib
#!/usr/bin/env bash
# Correct UID
export UID=`id -u`
# Configure user
if [ -z "${USER}" ]; then
export USER=${UID}
fi
# Create home directory
if [ -z "${HOME}" ]; then
export HOME=/home/${USER}
mkdir -p $HOME && cd $HOME
fi
# Add user to system
fgrep -q ":x:${UID}:" /etc/passwd || echo "${USER}:x:${UID}:${UID}::${HOME}:/bin/bash" >> /etc/passwd
fgrep -q ":x:${UID}:" /etc/group || echo "${USER}:x:${UID}:" >> /etc/group
# Set the environment
[ -e /opt/bashrc ] && source /opt/bashrc
# Run the requested command
if [ -z "$*" ]; then
exec /bin/bash
else
exec "$@"
fi
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment