CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!
CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!
Path: blob/main/seminar2/NofsDockerfile
Views: 63
#FROM --platform=linux/amd64 ubuntu:xenial-20200114 FROM ubuntu:xenial-20200114 ARG DEBIAN_FRONTEND="noninteractive" ENV LANG="en_US.UTF-8" \ LC_ALL="en_US.UTF-8" \ ND_ENTRYPOINT="/neurodocker/startup.sh" RUN export ND_ENTRYPOINT="/neurodocker/startup.sh" \ && apt-get update -qq \ && apt-get install -y -q --no-install-recommends \ apt-utils \ bzip2 \ ca-certificates \ curl \ locales \ unzip \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* \ && sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen \ && dpkg-reconfigure --frontend=noninteractive locales \ && update-locale LANG="en_US.UTF-8" \ && chmod 777 /opt && chmod a+s /opt \ && mkdir -p /neurodocker \ && if [ ! -f "$ND_ENTRYPOINT" ]; then \ echo '#!/usr/bin/env bash' >> "$ND_ENTRYPOINT" \ && echo 'set -e' >> "$ND_ENTRYPOINT" \ && echo 'export USER="${USER:=`whoami`}"' >> "$ND_ENTRYPOINT" \ && echo 'if [ -n "$1" ]; then "$@"; else /usr/bin/env bash; fi' >> "$ND_ENTRYPOINT"; \ fi \ && chmod -R 777 /neurodocker && chmod a+s /neurodocker ENTRYPOINT ["/neurodocker/startup.sh"] RUN apt-get update -qq \ && apt-get install -y -q --no-install-recommends \ vim \ tree \ grep \ less \ wget \ make \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* ENV PATH="/opt/dcm2niix-latest/bin:$PATH" RUN apt-get update -qq \ && apt-get install -y -q --no-install-recommends \ cmake \ g++ \ gcc \ git \ make \ pigz \ zlib1g-dev \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* \ && git clone https://github.com/rordenlab/dcm2niix /tmp/dcm2niix \ && mkdir /tmp/dcm2niix/build \ && cd /tmp/dcm2niix/build \ && cmake -DCMAKE_INSTALL_PREFIX:PATH=/opt/dcm2niix-latest .. \ && make \ && make install \ && rm -rf /tmp/dcm2niix ENV ANTSPATH="/opt/ants-2.2.0" \ PATH="/opt/ants-2.2.0:$PATH" RUN echo "Downloading ANTs ..." \ && mkdir -p /opt/ants-2.2.0 \ && curl -fsSL --retry 5 https://dl.dropbox.com/s/2f4sui1z6lcgyek/ANTs-Linux-centos5_x86_64-v2.2.0-0740f91.tar.gz \ | tar -xz -C /opt/ants-2.2.0 --strip-components 1 ENV FREESURFER_HOME="/opt/freesurfer-6.0.1" \ PATH="/opt/freesurfer-6.0.1/bin:$PATH" RUN apt-get update -qq \ && apt-get install -y -q --no-install-recommends \ bc \ libgomp1 \ libxmu6 \ libxt6 \ perl \ tcsh \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* \ && echo "Downloading FreeSurfer ..." \ && mkdir -p /opt/freesurfer-6.0.1 #RUN wget --progress=bar:force:noscroll -c --no-check-certificate https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/6.0.1/freesurfer-Linux-centos6_x86_64-stable-pub-v6.0.1.tar.gz -O - | tar -xz -C /opt/freesurfer-6.0.1 --strip-components 1 \ # --exclude='freesurfer/average/mult-comp-cor' \ # --exclude='freesurfer/lib/cuda' \ # --exclude='freesurfer/lib/qt' \ # --exclude='freesurfer/subjects/V1_average' \ # --exclude='freesurfer/subjects/bert' \ # --exclude='freesurfer/subjects/cvs_avg35' \ # --exclude='freesurfer/subjects/cvs_avg35_inMNI152' \ # --exclude='freesurfer/subjects/fsaverage3' \ # --exclude='freesurfer/subjects/fsaverage4' \ # --exclude='freesurfer/subjects/fsaverage5' \ # --exclude='freesurfer/subjects/fsaverage6' \ # --exclude='freesurfer/subjects/fsaverage_sym' \ # --exclude='freesurfer/trctrain' \ # && sed -i '$isource "/opt/freesurfer-6.0.1/SetUpFreeSurfer.sh"' "$ND_ENTRYPOINT" ENV CONDA_DIR="/opt/miniconda-latest" \ PATH="/opt/miniconda-latest/bin:$PATH" RUN export PATH="/opt/miniconda-latest/bin:$PATH" \ && echo "Downloading Miniconda installer ..." \ && conda_installer="/tmp/miniconda.sh" \ && curl -fsSL --retry 5 -o "$conda_installer" https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh \ && bash "$conda_installer" -b -p /opt/miniconda-latest \ && rm -f "$conda_installer" \ && conda update -yq -nbase conda \ && conda config --system --prepend channels conda-forge \ && conda config --system --set auto_update_conda false \ && conda config --system --set show_channel_urls true \ && sync && conda clean --all && sync \ && conda create -y -q --name neuro \ && conda install -y -q --name neuro \ 'jupyter' \ 'jupyterlab' \ 'matplotlib' \ 'nilearn' \ 'traits' \ 'nipype' \ 'seaborn' \ 'heudiconv' \ && sync && conda clean --all && sync RUN wget --no-check-certificate https://ftpmirror.gnu.org/parallel/parallel-20190222.tar.bz2 \ && bzip2 -dc parallel-20190222.tar.bz2 | tar xvf - \ && cd parallel-20190222 \ && ./configure && make && make install RUN mkdir -p /workspace/assets COPY ./license.txt /opt/freesurfer-6.0.1/license.txt COPY ./multiproc.sh /workspace/multiproc.sh COPY ./assets /workspace/assets COPY ./seminar* /workspace/ COPY ./entrypoint.sh /entrypoint.sh COPY ./heuristic.py /workspace/heuristic.py RUN chmod +x /workspace/multiproc.sh \ /entrypoint.sh RUN "/neurodocker/startup.sh" #RUN "./${FREESURFER_HOME}/SetUpFreeSurfer.sh" ENTRYPOINT ["bash", "-c", "/entrypoint.sh"] RUN echo '{ \ \n "pkg_manager": "apt", \ \n "instructions": [ \ \n [ \ \n "base", \ \n "ubuntu:xenial-20200114" \ \n ], \ \n [ \ \n "install", \ \n [ \ \n "vim" \ \n ] \ \n ], \ \n [ \ \n "dcm2niix", \ \n { \ \n "version": "latest", \ \n "method": "source" \ \n } \ \n ], \ \n [ \ \n "ants", \ \n { \ \n "version": "2.2.0" \ \n } \ \n ], \ \n [ \ \n "freesurfer", \ \n { \ \n "version": "6.0.1" \ \n } \ \n ], \ \n [ \ \n "miniconda", \ \n { \ \n "create_env": "neuro", \ \n "python_version": "3.6", \ \n "conda_install": [ \ \n "jupyter", \ \n "jupyterlab", \ \n "matplotlib", \ \n "nilearn", \ \n "traits", \ \n "nipype" \ \n ] \ \n } \ \n ], \ \n [ \ \n "entrypoint", \ \n "/usr/local/miniconda/jupyter lab --ip=0.0.0.0 --no-browser --port=8080" \ \n ] \ \n ] \ \n}' > /neurodocker/neurodocker_specs.json