-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile
103 lines (91 loc) · 2.49 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
FROM neurodebian:xenial-non-free
RUN apt-get update
# Install Ubuntu dependencies and utilities
RUN apt-get install -y \
build-essential \
cmake \
git \
graphviz \
graphviz-dev \
gsl-bin \
libcanberra-gtk-module \
libexpat1-dev \
libgiftiio-dev \
libglib2.0-dev \
libglu1-mesa \
libglu1-mesa-dev \
libjpeg-progs \
libgl1-mesa-dri \
libglw1-mesa \
libxml2 \
libxml2-dev \
libxext-dev \
libxft2 \
libxft-dev \
libxi-dev \
libxmu-headers \
libxmu-dev \
libxpm-dev \
libxslt1-dev \
m4 \
make \
mesa-common-dev \
mesa-utils \
netpbm \
pkg-config \
tcsh \
unzip \
vim \
xvfb \
xauth \
zlib1g-dev
# Install 16.04 dependencies
RUN apt-get install -y \
dh-autoreconf \
libgsl-dev \
libmotif-dev \
libtool \
libx11-dev \
libxext-dev \
x11proto-xext-dev \
x11proto-print-dev \
xutils-dev
# Compiles libxp- this is necessary for some newer versions of Ubuntu
# where the is no Debian package available.
RUN git clone git://anongit.freedesktop.org/xorg/lib/libXp /tmp/libXp && \
cd /tmp/libXp && \
./autogen.sh && \
./configure && \
make && \
make install && \
cd - && \
rm -rf /tmp/libXp
COPY data/docker/required_afni_pkgs.txt /opt/required_afni_pkgs.txt
# Install AFNI tools
RUN libs_path=/usr/lib/x86_64-linux-gnu && \
if [ -f $libs_path/libgsl.so.19 ]; then \
ln $libs_path/libgsl.so.19 $libs_path/libgsl.so.0; \
fi && \
mkdir -p /opt/afni && \
curl -sO http://s3.amazonaws.com/fcp-indi/resources/linux_openmp_64.zip && \
unzip -j linux_openmp_64.zip $(cat /opt/required_afni_pkgs.txt) -d /opt/afni && \
rm -rf linux_openmp_64.zip
ENV PATH=/opt/afni:$PATH
# install ANTs
ENV PATH=/usr/lib/ants:$PATH
RUN apt-get install -y ants
# Install and setup Miniconda
ENV PATH=/usr/local/miniconda/bin:$PATH
RUN curl -sO https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && \
bash Miniconda3-latest-Linux-x86_64.sh -b -p /usr/local/miniconda && \
rm Miniconda3-latest-Linux-x86_64.sh
RUN conda init
# Install radiome on base environment
COPY . /code
WORKDIR /code
RUN conda create -y --name py37 python=3.7
RUN conda update -n base -c defaults conda
RUN pip install git+https://github.com/radiome-lab/radiome.git@develop
RUN pip install -e '.'
#ENTRYPOINT '/usr/local/miniconda/bin/tox'
#CMD []