Dockerfile 6.24 KB
Newer Older
Romain Guiet's avatar
Romain Guiet committed
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
# For finding latest versions of the base image see
# https://github.com/SwissDataScienceCenter/renkulab-docker
ARG RENKU_BASE_IMAGE=renku/renkulab-vnc:0.11.0
FROM ${RENKU_BASE_IMAGE}

# Uncomment and adapt if code is to be included in the image
# COPY src /code/src

# Uncomment and adapt if your R or python packages require extra linux (ubuntu) software
# e.g. the following installs apt-utils and vim; each pkg on its own line, all lines
# except for the last end with backslash '\' to continue the RUN line
#
# USER root
# RUN apt-get update && \
#    apt-get install -y --no-install-recommends \
#    apt-utils \
#    vim
# USER ${NB_USER}

USER root

# Install Fiji
RUN wget -q https://downloads.imagej.net/fiji/latest/fiji-linux64.zip \
      && unzip fiji-linux64.zip -d /opt/ \
      && rm fiji-linux64.zip \
      && chmod -R a+rwX /opt/Fiji.app

RUN mkdir -p /home/jovyan/Desktop/
COPY Fiji.desktop /home/jovyan/Desktop/
RUN chmod +x /home/jovyan/Desktop/Fiji.desktop

# Add OMERO plugins
ENV OMEROIJ_VERSION 5.5.19
RUN wget -q https://github.com/ome/omero-insight/releases/download/v${OMEROIJ_VERSION}/omero_ij-${OMEROIJ_VERSION}-all.jar \
        && cp omero_ij-${OMEROIJ_VERSION}-all.jar /opt/Fiji.app/plugins \
        && rm omero_ij-${OMEROIJ_VERSION}-all.jar \
        && chmod -R a+rwX /opt/Fiji.app/plugins

RUN apt-get -y update &&\
    apt-get -y install db5.3-util  && \
    apt-get -y install libssl-dev libdb++-dev libdb-dev libbz2-dev libmcpp-dev

# Add simple-omero-client
ENV SOC_VERSION 5.9.0
RUN wget -q https://github.com/GReD-Clermont/simple-omero-client/releases/download/5.9.0/simple-omero-client-${SOC_VERSION}.jar \
        && cp simple-omero-client-${SOC_VERSION}.jar /opt/Fiji.app/plugins \
        && rm simple-omero-client-${SOC_VERSION}.jar \
        && chmod -R a+rwX /opt/Fiji.app/plugins


# Add update-sites
ENV fiji /opt/Fiji.app/ImageJ-linux64
ENV updateCommand  --update update
ENV addCommand  --update add-update-site 

RUN ${fiji} ${updateCommand}

RUN ${fiji} ${addCommand} "PTBIOP" "https://biop.epfl.ch/Fiji-Update"
RUN ${fiji} ${addCommand} "IBMP-CNRS" "https://sites.imagej.net/Mutterer/"
RUN ${fiji} ${addCommand} "3D ImageJ Suite" "https://sites.imagej.net/Tboudier/"
RUN ${fiji} ${addCommand} "IJPB-plugins" "https://sites.imagej.net/IJPB-plugins/"
RUN ${fiji} ${addCommand} "CSBDeep" "https://sites.imagej.net/CSBDeep/"
RUN ${fiji} ${addCommand} "StarDist" "https://sites.imagej.net/StarDist/"
64
RUN ${fiji} ${addCommand} "ABBA" "https://biop.epfl.ch/Fiji-ABBA/"
Romain Guiet's avatar
Romain Guiet committed
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

RUN ${fiji} ${updateCommand}

# Install ilastik
ENV ilastik_version 1.3.3
RUN wget -q https://files.ilastik.org/ilastik-${ilastik_version}post3-Linux.tar.bz2 \
      && tar -xf ilastik-${ilastik_version}post3-Linux.tar.bz2 -C /opt/ \
      && rm ilastik-${ilastik_version}post3-Linux.tar.bz2 \
      && chmod -R a+rwX /opt/ilastik-${ilastik_version}post3-Linux

RUN mkdir -p /home/jovyan/Desktop/
COPY ilastik.desktop /home/jovyan/Desktop/
RUN chmod +x /home/jovyan/Desktop/ilastik.desktop


#Insall QuPath
ENV qupath_version 0.3.2
RUN wget -q https://github.com/qupath/qupath/releases/download/v${qupath_version}/QuPath-${qupath_version}-Linux.tar.xz \
      && tar -xf QuPath-${qupath_version}-Linux.tar.xz -C /opt/ \
      && rm QuPath-${qupath_version}-Linux.tar.xz \
      && chmod u+x /opt/QuPath/bin/QuPath \ 
      && chmod u+x /opt/QuPath/bin/QuPath.sh

COPY qupath.desktop /home/jovyan/Desktop/
RUN chmod +x /home/jovyan/Desktop/qupath.desktop

# adds QuPath extensions 
92
ENV QP_EXT_DIR /home/jovyan/Desktop/QuPath_Common_Data/extensions/
Romain Guiet's avatar
Romain Guiet committed
93
RUN mkdir -p ${QP_EXT_DIR}
94

Romain Guiet's avatar
Romain Guiet committed
95
96
97
98
99
RUN wget -q https://github.com/qupath/qupath-extension-omero/releases/download/v0.3.0/qupath-extension-omero-0.3.0.jar
RUN mv qupath-extension-omero-0.3.0.jar ${QP_EXT_DIR} \ 
    && chmod -R a+rwX ${QP_EXT_DIR} \
    && chmod -R a+rwX ${QP_EXT_DIR}qupath-extension-omero-0.3.0.jar

100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
ENV qp_warpy_version 0.2.0
RUN wget -q https://github.com/BIOP/qupath-extension-warpy/releases/download/${qp_warpy_version}/qupath-extension-warpy-${qp_warpy_version}.zip
RUN mv qupath-extension-warpy-${qp_warpy_version}.zip ${QP_EXT_DIR} \ 
    && chmod -R a+rwX ${QP_EXT_DIR} \
    && chmod -R a+rwX ${QP_EXT_DIR}qupath-extension-warpy-${qp_warpy_version}.zip

ENV qp_abba_version 0.1.1
RUN wget -q https://github.com/BIOP/qupath-extension-abba/releases/download/${qp_abba_version}/qupath-extension-abba-${qp_abba_version}.zip
RUN mv qupath-extension-abba-${qp_abba_version}.zip ${QP_EXT_DIR} \ 
    && chmod -R a+rwX ${QP_EXT_DIR} \
    && chmod -R a+rwX ${QP_EXT_DIR}qupath-extension-abba-${qp_abba_version}.zip

RUN apt-get update && \
    apt install -y p7zip-full

Romain Guiet's avatar
Romain Guiet committed
115

116
117
118
119
120
ENV elastix_version 5.0.1
RUN wget https://github.com/SuperElastix/elastix/releases/download/${elastix_version}/elastix-${elastix_version}-linux.tar.bz2 \
        && tar -xjvf elastix-${elastix_version}-linux.tar.bz2 -C /opt/ \
        && rm elastix-${elastix_version}-linux.tar.bz2 \
        && chmod -R a+rwX /opt/elastix-${elastix_version}-linux
Romain Guiet's avatar
Romain Guiet committed
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135


USER ${NB_USER}


# install the python dependencies
COPY requirements.txt environment.yml /tmp/
RUN conda env update -q -f /tmp/environment.yml && \
    /opt/conda/bin/pip install -r /tmp/requirements.txt && \
    conda clean -y --all && \
    conda env export -n "root"

# RENKU_VERSION determines the version of the renku CLI
# that will be used in this image. To find the latest version,
# visit https://pypi.org/project/renku/#history.
Romain Guiet's avatar
Romain Guiet committed
136
ARG RENKU_VERSION=1.2.4
Romain Guiet's avatar
Romain Guiet committed
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156

########################################################
# Do not edit this section and do not add anything below

# Install renku from pypi or from github if it's a dev version
RUN if [ -n "$RENKU_VERSION" ] ; then \
        source .renku/venv/bin/activate ; \
        currentversion=$(renku --version) ; \
        if [ "$RENKU_VERSION" != "$currentversion" ] ; then \
            pip uninstall renku -y ; \
            gitversion=$(echo "$RENKU_VERSION" | sed -n "s/^[[:digit:]]\+\.[[:digit:]]\+\.[[:digit:]]\+\(\.dev[[:digit:]]\+\)*\(+g\([a-f0-9]\+\)\)*\(+dirty\)*$/\3/p") ; \
            if [ -n "$gitversion" ] ; then \
                pip install --force "git+https://github.com/SwissDataScienceCenter/renku-python.git@$gitversion" ;\
            else \
                pip install --force renku==${RENKU_VERSION} ;\
            fi \
        fi \
    fi

########################################################