1- # Dockerfile for Storm
2- # #####################
3- # The Docker image can be built by executing:
4- # docker build -t yourusername/storm .
5- # A different base image can be set from the commandline with:
6- # --build-arg BASE_IMAGE=<new_base_image>
7- # Dockerfile installing all dependencies for Storm
8- # #################################################
9- # The Docker image can be built by executing:
10- # docker build -t yourusername/storm-dependencies .
11- # A different base image can be set from the commandline with:
12- # --build-arg BASE_IMAGE=<new_base_image>
1+ # Dockerfile for UMB Obervatory
2+ # Based on the Storm docker files.
133
144# Set base image
5+ # We use the storm depencies as a basis as it already includes various necessary packages.
156ARG BASE_IMAGE=movesrwth/storm-dependencies:latest
16- ARG TARGETPLATFORM
7+
178
189# #####################################################################
1910# The final JupyterHub image, platform specific
20- FROM $BASE_IMAGE AS umbihub
21- LABEL org.opencontainers.image.authors="dev@stormchecker.org "
11+ FROM $BASE_IMAGE AS umbiobservatory
12+ LABEL org.opencontainers.image.authors="pmctools "
2213
14+ ARG TARGETPLATFORM
2315EXPOSE 8000
2416
17+ # Install dependencies
18+ # For storm: libarchive-dev and ninja-build
19+ # For prism: default-jdk
20+ # For mdoest xz-utils
2521RUN apt-get update -qq \
2622 && apt-get install -yqq --no-install-recommends \
2723 python-is-python3 \
2824 python3-pip \
29- python3-venv
25+ python3-venv \
26+ unzip \
27+ && apt-get install -yqq --no-install-recommends \
28+ libarchive-dev ninja-build libboost-iostreams-dev \
29+ default-jdk \
30+ xz-utils
3031
3132ENV VIRTUAL_ENV=/opt/venv
3233RUN python3 -m venv $VIRTUAL_ENV
@@ -39,37 +40,40 @@ RUN python3 -m pip install --no-cache-dir jupyter matplotlib scipy pytest blac
3940ARG storm_build_type=Release
4041# Specify number of threads to use for parallel compilation
4142ARG no_threads=1
42- #
43- # For storm: libarchive-dev and ninja-build
44- # For prism: default-jdk
45- RUN apt-get update -qq \
46- && apt-get install -yqq --no-install-recommends \
47- libarchive-dev ninja-build libboost-iostreams-dev \
48- default-jdk
43+ ARG storm_repo=https://github.com/tquatmann/storm.git
44+ ARG storm_branch=io/binaryformat
45+ ARG prism_repo=https://github.com/davexparker/prism.git
46+ ARG prism_branch=umb
4947
5048# Build Storm
5149# ############
5250WORKDIR /opt/
5351
54- RUN git clone -b io/binaryformat https://github.com/tquatmann/storm.git
52+ RUN git clone -b $storm_branch $storm_repo
5553
5654# Switch to build directory
5755RUN mkdir -p /opt/storm/build
5856WORKDIR /opt/storm/build
59-
6057# Configure Storm
6158RUN cmake -GNinja -DCMAKE_BUILD_TYPE=$storm_build_type \
6259 -DSTORM_PORTABLE=ON \
6360 -DSTORM_USE_LTO=OFF \
6461 ..
6562RUN ninja storm-cli -j 4
6663
64+ # Build Prism
65+ # ############
6766WORKDIR /opt/
68-
69- RUN git clone -b umb https://github.com/davexparker/prism.git
67+ RUN git clone -b $prism_branch $prism_repo
7068WORKDIR /opt/prism/prism
7169RUN make
7270
71+ # Download Modest
72+ # ################
73+ WORKDIR /opt/
74+ COPY .docker/install-modest.sh install-modest.sh
75+ RUN bash install-modest.sh
76+
7377# ### Install UMB
7478RUN python3 -m pip install --no-cache-dir umbi
7579
0 commit comments