Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add(infrastructure): Dockerfile, and miscellaneous amends
- Loading branch information
Showing
5 changed files
with
208 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
-----BEGIN PGP PUBLIC KEY BLOCK----- | ||
Version: GnuPG v1 | ||
|
||
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 | ||
=fAJZ | ||
-----END PGP PUBLIC KEY BLOCK----- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,131 @@ | ||
# Use Ubuntu 16.04 LTS | ||
FROM ubuntu:xenial-20161213 | ||
|
||
# Pre-cache neurodebian key | ||
COPY .docker/files/neurodebian.gpg /usr/local/etc/neurodebian.gpg | ||
|
||
# Prepare environment | ||
RUN apt-get update && \ | ||
apt-get install -y --no-install-recommends \ | ||
lsb-release \ | ||
curl \ | ||
bzip2 \ | ||
ca-certificates \ | ||
xvfb \ | ||
build-essential \ | ||
autoconf \ | ||
libtool \ | ||
pkg-config \ | ||
git && \ | ||
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* | ||
|
||
# Installing Neurodebian packages (FSL, AFNI, git) | ||
RUN curl -sSL "http://neuro.debian.net/lists/$( lsb_release -c | cut -f2 ).us-ca.full" >> /etc/apt/sources.list.d/neurodebian.sources.list && \ | ||
apt-key add /usr/local/etc/neurodebian.gpg && \ | ||
(apt-key adv --refresh-keys --keyserver hkp://ha.pool.sks-keyservers.net 0xA5D32F012649A5A9 || true) | ||
|
||
RUN apt-get update && \ | ||
apt-get install -y --no-install-recommends \ | ||
fsl-core=5.0.9-5~nd16.04+1 \ | ||
afni=16.2.07~dfsg.1-5~nd16.04+1 \ | ||
convert3d \ | ||
git-annex-standalone && \ | ||
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* | ||
|
||
ENV FSL_DIR="/usr/share/fsl/5.0" \ | ||
FSLDIR="/usr/share/fsl/5.0" \ | ||
FSLOUTPUTTYPE="NIFTI_GZ" \ | ||
FSLMULTIFILEQUIT="TRUE" \ | ||
POSSUMDIR="/usr/share/fsl/5.0" \ | ||
LD_LIBRARY_PATH="/usr/lib/fsl/5.0:$LD_LIBRARY_PATH" \ | ||
FSLTCLSH="/usr/bin/tclsh" \ | ||
FSLWISH="/usr/bin/wish" \ | ||
AFNI_MODELPATH="/usr/lib/afni/models" \ | ||
AFNI_IMSAVE_WARNINGS="NO" \ | ||
AFNI_TTATLAS_DATASET="/usr/share/afni/atlases" \ | ||
AFNI_PLUGINPATH="/usr/lib/afni/plugins" | ||
ENV PATH="/usr/lib/fsl/5.0:/usr/lib/afni/bin:$PATH" | ||
|
||
# Installing ANTs 2.2.0 (NeuroDocker build) | ||
ENV ANTSPATH=/usr/lib/ants | ||
RUN mkdir -p $ANTSPATH && \ | ||
curl -sSL "https://dl.dropbox.com/s/2f4sui1z6lcgyek/ANTs-Linux-centos5_x86_64-v2.2.0-0740f91.tar.gz" \ | ||
| tar -xzC $ANTSPATH --strip-components 1 | ||
ENV PATH=$ANTSPATH:$PATH | ||
|
||
# Installing and setting up miniconda | ||
RUN curl -sSLO https://repo.continuum.io/miniconda/Miniconda3-4.5.11-Linux-x86_64.sh && \ | ||
bash Miniconda3-4.5.11-Linux-x86_64.sh -b -p /usr/local/miniconda && \ | ||
rm Miniconda3-4.5.11-Linux-x86_64.sh | ||
|
||
# Set CPATH for packages relying on compiled libs (e.g. indexed_gzip) | ||
ENV PATH="/usr/local/miniconda/bin:$PATH" \ | ||
CPATH="/usr/local/miniconda/include/:$CPATH" \ | ||
LANG="C.UTF-8" \ | ||
LC_ALL="C.UTF-8" \ | ||
PYTHONNOUSERSITE=1 | ||
|
||
# Installing precomputed python packages | ||
RUN conda install -y python=3.7.1 \ | ||
mkl=2018.0.3 \ | ||
mkl-service \ | ||
numpy=1.15.4 \ | ||
scipy=1.1.0 \ | ||
scikit-learn=0.19.1 \ | ||
matplotlib=2.2.2 \ | ||
pandas=0.23.4 \ | ||
libxml2=2.9.8 \ | ||
libxslt=1.1.32 \ | ||
graphviz=2.40.1 \ | ||
traits=4.6.0 \ | ||
zlib; sync && \ | ||
chmod -R a+rX /usr/local/miniconda; sync && \ | ||
chmod +x /usr/local/miniconda/bin/*; sync && \ | ||
conda clean --all -y; sync && \ | ||
conda clean -tipsy && sync | ||
|
||
# Precaching fonts, set 'Agg' as default backend for matplotlib | ||
RUN python -c "from matplotlib import font_manager" && \ | ||
sed -i 's/\(backend *: \).*$/\1Agg/g' $( python -c "import matplotlib; print(matplotlib.matplotlib_fname())" ) | ||
|
||
# Unless otherwise specified each process should only use one thread - nipype | ||
# will handle parallelization | ||
ENV MKL_NUM_THREADS=1 \ | ||
OMP_NUM_THREADS=1 | ||
|
||
# Create a shared $HOME directory | ||
RUN useradd -m -s /bin/bash -G users sdcflows | ||
WORKDIR /home/sdcflows | ||
ENV HOME="/home/sdcflows" | ||
|
||
# Installing dev requirements (packages that are not in pypi) | ||
WORKDIR /src/sdcflows | ||
|
||
# Installing sMRIPREP | ||
COPY . /src/sdcflows | ||
ARG VERSION | ||
# Force static versioning within container | ||
RUN echo "${VERSION}" > /src/sdcflows/sdcflows/VERSION && \ | ||
echo "include sdcflows/VERSION" >> /src/sdcflows/MANIFEST.in && \ | ||
pip install --no-cache-dir .[all] && \ | ||
rm -rf $HOME/.cache/pip | ||
|
||
RUN find $HOME -type d -exec chmod go=u {} + && \ | ||
find $HOME -type f -exec chmod go=u {} + | ||
|
||
ENV IS_DOCKER_8395080871=1 | ||
|
||
RUN ldconfig | ||
WORKDIR /tmp/ | ||
ENTRYPOINT ["/usr/local/miniconda/bin/sdcflows"] | ||
|
||
ARG BUILD_DATE | ||
ARG VCS_REF | ||
LABEL org.label-schema.build-date=$BUILD_DATE \ | ||
org.label-schema.name="SDCflows" \ | ||
org.label-schema.description="SDCflows - Susceptibility Distortion Correction (SDC) workflows for EPI MR schemes" \ | ||
org.label-schema.url="http://sdcflows.readthedocs.io" \ | ||
org.label-schema.vcs-ref=$VCS_REF \ | ||
org.label-schema.vcs-url="https://github.com/poldracklab/sdcflows" \ | ||
org.label-schema.version=$VERSION \ | ||
org.label-schema.schema-version="1.0" |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters