BootStrap: debootstrap OSVersion: bionic MirrorURL: http://ch.archive.ubuntu.com/ubuntu/ %help a singularity container for PMSCO. git clone requires an ssh key for git.psi.ch. try agent forwarding (-A option to ssh). #%setup # executed on the host system outside of the container before %post # # this will be inside the container # touch ${SINGULARITY_ROOTFS}/tacos.txt # this will be on the host # touch avocados.txt #%files # files are copied before %post # # this copies to root # avocados.txt # this copies to /opt # avocados.txt /opt # # this does not work # ~/.ssh/known_hosts /etc/ssh/ssh_known_hosts # ~/.ssh/id_rsa /etc/ssh/id_rsa %labels Maintainer Matthias Muntwiler Maintainer_Email matthias.muntwiler@psi.ch Python_Version 2.7 %environment export PATH="/usr/local/miniconda3/bin:$PATH" export PYTHON_VERSION=2.7 export SINGULAR_BRANCH="singular" export LC_ALL=C %post export PYTHON_VERSION=2.7 export LC_ALL=C sed -i 's/$/ universe/' /etc/apt/sources.list apt-get update apt-get -y install \ binutils \ build-essential \ doxygen \ doxypy \ f2c \ g++ \ gcc \ gfortran \ git \ graphviz \ libblas-dev \ liblapack-dev \ libopenmpi-dev \ make \ nano \ openmpi-bin \ openmpi-common \ sqlite3 \ wget apt-get clean wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh bash ~/miniconda.sh -b -p /usr/local/miniconda3 export PATH="/usr/local/miniconda3/bin:$PATH" conda create -q --yes -n pmsco python=${PYTHON_VERSION} . /usr/local/miniconda3/bin/activate pmsco conda install -q --yes -n pmsco \ pip \ "numpy>=1.13" \ scipy \ ipython \ matplotlib \ nose \ mock \ future \ statsmodels \ swig conda clean --all -y /usr/local/miniconda3/envs/pmsco/bin/pip install periodictable attrdict fasteners mpi4py #%test # test the image after build %runscript # executes command from command line . /usr/local/miniconda3/bin/activate pmsco exec echo "$@" %apprun install . /usr/local/miniconda3/bin/activate pmsco cd ~ git clone https://git.psi.ch/pearl/pmsco.git pmsco cd pmsco git checkout develop git checkout -b ${SINGULAR_BRANCH} make all nosetests %apprun python . /usr/local/miniconda3/bin/activate pmsco exec python "${@}" %apprun conda . /usr/local/miniconda3/bin/activate pmsco exec conda "${@}"