Skip to content

Commit 48bc7db

Browse files
committed
ENH: updates nipype_tutorial docker image
1 parent a5d2ae0 commit 48bc7db

File tree

2 files changed

+102
-87
lines changed

2 files changed

+102
-87
lines changed

Dockerfile

Lines changed: 75 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
# Generated by Neurodocker v0.3.0-dev0.
1+
# Generated by Neurodocker v0.2.0-15-g89db2ca.
22
#
33
# Thank you for using Neurodocker. If you discover any issues
44
# or ways to improve this software, please submit an issue or
55
# pull request on our GitHub repository:
66
# https://github.com/kaczmarj/neurodocker
77
#
8-
# Timestamp: 2017-08-25 12:18:04
8+
# Timestamp: 2017-09-01 15:15:46
99

1010
FROM neurodebian:stretch-non-free
1111

@@ -34,61 +34,38 @@ ENTRYPOINT ["/neurodocker/startup.sh"]
3434
# User-defined instruction
3535
RUN curl -sL https://deb.nodesource.com/setup_6.x | bash -
3636

37-
RUN apt-get update -qq && apt-get install -yq --no-install-recommends dcm2niix convert3d ants graphviz tree git-annex-standalone vim emacs-nox nano less ncdu tig git-annex-remote-rclone xvfb mesa-utils build-essential nodejs \
37+
RUN apt-get update -qq \
38+
&& apt-get install -y -q --no-install-recommends dcm2niix \
39+
convert3d \
40+
ants \
41+
graphviz \
42+
tree \
43+
git-annex-standalone \
44+
vim \
45+
emacs-nox \
46+
nano \
47+
less \
48+
ncdu \
49+
tig \
50+
git-annex-remote-rclone \
51+
build-essential \
52+
nodejs \
53+
r-recommended \
54+
psmisc \
55+
libapparmor1 \
56+
sudo \
57+
dc \
3858
&& apt-get clean \
3959
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
4060

41-
#--------------------
42-
# Install AFNI latest
43-
#--------------------
44-
ENV PATH=/opt/afni:$PATH
45-
RUN apt-get update -qq && apt-get install -yq --no-install-recommends ed gsl-bin libglu1-mesa-dev libglib2.0-0 libglw1-mesa \
46-
libgomp1 libjpeg62 libxm4 netpbm tcsh xfonts-base xvfb \
47-
&& libs_path=/usr/lib/x86_64-linux-gnu \
48-
&& if [ -f $libs_path/libgsl.so.19 ]; then \
49-
ln $libs_path/libgsl.so.19 $libs_path/libgsl.so.0; \
50-
fi \
51-
# Install libxp (not in all ubuntu/debian repositories) \
52-
&& apt-get install -yq --no-install-recommends libxp6 \
53-
|| /bin/bash -c " \
54-
curl --retry 5 -o /tmp/libxp6.deb -sSL http://mirrors.kernel.org/debian/pool/main/libx/libxp/libxp6_1.0.2-2_amd64.deb \
55-
&& dpkg -i /tmp/libxp6.deb && rm -f /tmp/libxp6.deb" \
56-
# Install libpng12 (not in all ubuntu/debian repositories) \
57-
&& apt-get install -yq --no-install-recommends libpng12-0 \
58-
|| /bin/bash -c " \
59-
curl -o /tmp/libpng12.deb -sSL http://mirrors.kernel.org/debian/pool/main/libp/libpng/libpng12-0_1.2.49-1%2Bdeb7u2_amd64.deb \
60-
&& dpkg -i /tmp/libpng12.deb && rm -f /tmp/libpng12.deb" \
61-
# Install R \
62-
&& apt-get install -yq --no-install-recommends \
63-
r-base-dev r-cran-rmpi \
64-
|| /bin/bash -c " \
65-
curl -o /tmp/install_R.sh -sSL https://gist.githubusercontent.com/kaczmarj/8e3792ae1af70b03788163c44f453b43/raw/0577c62e4771236adf0191c826a25249eb69a130/R_installer_debian_ubuntu.sh \
66-
&& /bin/bash /tmp/install_R.sh" \
67-
&& apt-get clean \
68-
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
69-
&& echo "Downloading AFNI ..." \
70-
&& mkdir -p /opt/afni \
71-
&& curl -sSL --retry 5 https://afni.nimh.nih.gov/pub/dist/tgz/linux_openmp_64.tgz \
72-
| tar zx -C /opt/afni --strip-components=1 \
73-
&& /opt/afni/rPkgsInstall -pkgs ALL \
74-
&& rm -rf /tmp/*
61+
# User-defined instruction
62+
RUN apt-get update && apt-get install -yq xvfb mesa-utils libgl1-mesa-dri && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
7563

76-
#-----------------------------------------------------------
77-
# Install FSL v5.0.10
78-
# FSL is non-free. If you are considering commerical use
79-
# of this Docker image, please consult the relevant license:
80-
# https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/Licence
81-
#-----------------------------------------------------------
82-
RUN echo "Downloading FSL ..." \
83-
&& curl -sSL https://fsl.fmrib.ox.ac.uk/fsldownloads/fsl-5.0.10-centos6_64.tar.gz \
84-
| tar zx -C /opt \
85-
&& /bin/bash /opt/fsl/etc/fslconf/fslpython_install.sh -q -f /opt/fsl \
86-
&& sed -i '$iecho Some packages in this Docker container are non-free' $ND_ENTRYPOINT \
87-
&& sed -i '$iecho If you are considering commercial use of this container, please consult the relevant license:' $ND_ENTRYPOINT \
88-
&& sed -i '$iecho https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/Licence' $ND_ENTRYPOINT \
89-
&& sed -i '$isource $FSLDIR/etc/fslconf/fsl.sh' $ND_ENTRYPOINT
90-
ENV FSLDIR=/opt/fsl \
91-
PATH=/opt/fsl/bin:$PATH
64+
RUN apt-get update -qq \
65+
&& apt-get install -y -q --no-install-recommends afni \
66+
fsl \
67+
&& apt-get clean \
68+
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
9269

9370
#--------------------------
9471
# Install FreeSurfer v6.0.0
@@ -128,12 +105,14 @@ ENV MATLABCMD=/opt/mcr/v92/toolbox/matlab \
128105
FORCE_SPMMCR=1 \
129106
LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/opt/mcr/v92/runtime/glnxa64:/opt/mcr/v92/bin/glnxa64:/opt/mcr/v92/sys/os/glnxa64:$LD_LIBRARY_PATH
130107

131-
RUN apt-get update -qq && apt-get install -yq --no-install-recommends psmisc libapparmor1 sudo \
132-
&& apt-get clean \
133-
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
108+
# User-defined instruction
109+
RUN bash -c "curl -sSL http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.0.0_1.0.2g-1ubuntu11.2_amd64.deb > libssl1.0.0_1.0.2g-1ubuntu11.2_amd64.deb && dpkg -i libssl1.0.0_1.0.2g-1ubuntu11.2_amd64.deb && rm libssl1.0.0_1.0.2g-1ubuntu11.2_amd64.deb"
110+
111+
# User-defined instruction
112+
RUN bash -c "curl -sSL http://download2.rstudio.org/rstudio-server-$(curl https://s3.amazonaws.com/rstudio-server/current.ver)-amd64.deb >> rstudio-server-amd64.deb && dpkg -i rstudio-server-amd64.deb && rm rstudio-server-amd64.deb"
134113

135114
# User-defined instruction
136-
RUN bash -c "curl http://download2.rstudio.org/rstudio-server-$(curl https://s3.amazonaws.com/rstudio-server/current.ver)-amd64.deb >> rstudio-server-amd64.deb && dpkg -i rstudio-server-amd64.deb && rm rstudio-server-amd64.deb"
115+
RUN Rscript -e 'install.packages(c("neuRosim", "ggplot2", "fmri", "dplyr", "tidyr", "Lahman", "data.table", "readr"), repos = "http://cran.case.edu")'
137116

138117
# User-defined instruction
139118
RUN curl -sSL https://dl.dropbox.com/s/lfuppfhuhi1li9t/cifti-data.tgz?dl=0 | tar zx -C /
@@ -161,29 +140,32 @@ RUN echo "Downloading Miniconda installer ..." \
161140
#-------------------------
162141
# Create conda environment
163142
#-------------------------
164-
RUN conda create -y -q --name neuro python=3.6 \
165-
jupyter jupyterlab traits pandas matplotlib scikit-learn seaborn swig reprozip reprounzip altair traitsui apptools configobj vtk jupyter_contrib_nbextensions bokeh scikit-image codecov cython joblib nitime \
143+
RUN conda create -y -q --name neuro3 python=3.6 \
144+
jupyter jupyterlab traits pandas matplotlib scikit-learn seaborn swig reprozip reprounzip altair traitsui apptools configobj vtk jupyter_contrib_nbextensions bokeh scikit-image codecov nitime cython joblib jupyterhub=0.7.2 \
166145
&& sync && conda clean -tipsy && sync \
167-
&& /bin/bash -c "source activate neuro \
146+
&& /bin/bash -c "source activate neuro3 \
168147
&& pip install -q --no-cache-dir \
169-
https://github.com/nipy/nibabel/archive/master.zip https://github.com/nipy/nipype/tarball/master nilearn https://github.com/INCF/pybids/archive/master.zip datalad dipy nipy duecredit pymvpa2 mayavi git+https://github.com/jupyterhub/nbrsessionproxy.git" \
148+
https://github.com/nipy/nibabel/archive/master.zip https://github.com/nipy/nipype/tarball/master nilearn https://github.com/INCF/pybids/archive/master.zip datalad dipy nipy duecredit pymvpa2 mayavi git+https://github.com/jupyterhub/nbserverproxy.git git+https://github.com/jupyterhub/nbrsessionproxy.git https://github.com/satra/mapalign/archive/master.zip pprocess " \
170149
&& sync
171-
ENV PATH=/opt/conda/envs/neuro/bin:$PATH
150+
ENV PATH=/opt/conda/envs/neuro3/bin:$PATH
172151

173152
# User-defined instruction
174-
RUN bash -c "source activate neuro && python -m ipykernel install --user --name neuro --display-name Py3-neuro "
153+
RUN bash -c "source activate neuro3 && python -m ipykernel install --sys-prefix --name neuro3 --display-name Py3-neuro "
175154

176155
# User-defined instruction
177-
RUN bash -c "source activate neuro && pip install --pre --upgrade ipywidgets pythreejs "
156+
RUN bash -c "source activate neuro3 && pip install --pre --upgrade ipywidgets pythreejs "
178157

179158
# User-defined instruction
180-
RUN bash -c "source activate neuro && pip install --upgrade https://github.com/maartenbreddels/ipyvolume/archive/23eb91685dfcf200ee82f89ab6f7294f9214db8c.zip && jupyter nbextension install --py --sys-prefix ipyvolume && jupyter nbextension enable --py --sys-prefix ipyvolume "
159+
RUN bash -c "source activate neuro3 && pip install --upgrade https://github.com/maartenbreddels/ipyvolume/archive/master.zip && jupyter nbextension install --py --sys-prefix ipyvolume && jupyter nbextension enable --py --sys-prefix ipyvolume "
181160

182161
# User-defined instruction
183-
RUN bash -c "source activate neuro && jupyter nbextension enable rubberband/main && jupyter nbextension enable exercise2/main && jupyter nbextension enable spellchecker/main "
162+
RUN bash -c "source activate neuro3 && jupyter nbextension enable rubberband/main && jupyter nbextension enable exercise2/main && jupyter nbextension enable spellchecker/main "
184163

185164
# User-defined instruction
186-
RUN bash -c "source activate neuro && jupyter serverextension enable --sys-prefix --py nbrsessionproxy && jupyter nbextension install --sys-prefix --py nbrsessionproxy && jupyter nbextension enable --sys-prefix --py nbrsessionproxy "
165+
RUN bash -c "source activate neuro3 && jupyter serverextension enable --sys-prefix --py nbserverproxy && jupyter serverextension enable --sys-prefix --py nbrsessionproxy && jupyter nbextension install --sys-prefix --py nbrsessionproxy && jupyter nbextension enable --sys-prefix --py nbrsessionproxy "
166+
167+
# User-defined instruction
168+
RUN bash -c " source activate neuro3 && pip install git+https://github.com/data-8/gitautosync && jupyter serverextension enable --py nbgitautosync --sys-prefix "
187169

188170
#-------------------------
189171
# Create conda environment
@@ -193,13 +175,35 @@ RUN conda create -y -q --name afni27 python=2.7 \
193175
&& sync && conda clean -tipsy && sync
194176

195177
# User-defined instruction
196-
RUN bash -c "source activate afni27 && python -m ipykernel install --user --name afni27 --display-name Py2-afni "
178+
RUN bash -c "source activate neuro3 && python -m ipykernel install --sys-prefix --name afni27 --display-name Py2-afni "
179+
180+
USER root
197181

198182
# User-defined instruction
199-
RUN bash -c "source activate neuro && python -c 'from nilearn import datasets; haxby_dataset = datasets.fetch_haxby()' "
183+
RUN mkdir /data && chown neuro /data && chmod 777 /data && mkdir /output && chown neuro /output && chmod 777 /output && mkdir /repos && chown neuro /repos && chmod 777 /repos
200184

201185
# User-defined instruction
202-
RUN bash -c "echo c.NotebookApp.ip = \'0.0.0.0\' > ~/.jupyter/jupyter_notebook_config.py"
186+
RUN echo 'neuro:neuro' | chpasswd && usermod -aG sudo neuro
203187

204-
WORKDIR /opt/tutorial
188+
USER neuro
189+
190+
# User-defined instruction
191+
RUN bash -c "source activate neuro3 && cd /data && datalad install -r ///workshops/nih-2017/ds000114 && datalad get -r -J4 ds000114/sub-0[12]/ses-test/ && datalad get -r ds000114/derivatives/fr*/sub-0[12] && datalad get -r ds000114/derivatives/fm*/sub-0[12]/anat && datalad get -r ds000114/derivatives/fm*/sub-0[12]/ses-test && datalad get -r ds000114/derivatives/f*/fsaverage5 "
192+
193+
# User-defined instruction
194+
RUN curl -sSL https://osf.io/dhzv7/download?version=3 | tar zx -C /data/ds000114/derivatives/fmriprep
195+
196+
WORKDIR /home/neuro
197+
198+
# User-defined instruction
199+
RUN cd /repos && git clone https://github.com/neuro-data-science/neuroviz.git && git clone https://github.com/neuro-data-science/neuroML.git && git clone https://github.com/ReproNim/reproducible-imaging.git && git clone https://github.com/miykael/nipype_tutorial.git && git clone https://github.com/jmumford/nhwEfficiency.git && git clone https://github.com/jmumford/R-tutorial.git
200+
201+
# User-defined instruction
202+
ENV PATH="${PATH}:/usr/lib/rstudio-server/bin"
203+
204+
# User-defined instruction
205+
ENV LD_LIBRARY_PATH="/usr/lib/R/lib:${LD_LIBRARY_PATH}"
206+
207+
# User-defined instruction
208+
RUN bash -c "echo c.NotebookApp.ip = \'0.0.0.0\' > ~/.jupyter/jupyter_notebook_config.py"
205209

0 commit comments

Comments
 (0)