You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
121 lines
3.2 KiB
121 lines
3.2 KiB
FROM movesrwth/storm-basesystem:ubuntu-22.04 as build
|
|
|
|
#COPY ./tempest-devel /opt/tempest
|
|
#COPY ./tempest-py /opt/tempestpy
|
|
COPY ./pycarl-2.0.4 /opt/pycarl
|
|
COPY ./carl /opt/carl
|
|
|
|
# RUN rm -r /opt/tempest/.git
|
|
# RUN rm -r /opt/tempestpy/.git
|
|
# RUN rm -r /opt/Minigrid2PRISM/.git
|
|
|
|
RUN apt-get update
|
|
RUN apt-get install -y python3.10
|
|
|
|
# Specify number of threads to use for parallel compilation
|
|
# This number can be set from the commandline with:
|
|
# --build-arg no_threads=<value>
|
|
ARG no_threads=6
|
|
|
|
# Build carl
|
|
RUN mkdir -p /opt/carl/build
|
|
WORKDIR /opt/carl/build
|
|
RUN cmake .. -DCMAKE_BUILD_TYPE=Release -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON
|
|
RUN make lib_carl -j $no_threads
|
|
|
|
# Build tempest
|
|
RUN git clone https://git.pranger.xyz/TEMPEST/tempest-devel.git /opt/tempest
|
|
RUN mkdir -p /opt/tempest/build
|
|
WORKDIR /opt/tempest/build
|
|
RUN cmake .. -DCMAKE_BUILD_TYPE=Release -DSTORM_DEVELOPER=OFF -DSTORM_LOG_DISABLE_DEBUG=ON -DSTORM_PORTABLE=OFF -DSTORM_USE_SPOT_SHIPPED=ON
|
|
RUN make resources storm binaries -j $no_threads
|
|
|
|
|
|
RUN apt-get install -y maven
|
|
RUN apt-get install -y uuid-dev
|
|
|
|
# COPY ./carl-parser /opt/carl-parser
|
|
|
|
# # Switch to build directory
|
|
# RUN mkdir -p /opt/carl-parser/build
|
|
# WORKDIR /opt/carl-parser/build
|
|
|
|
# Configure carl-parser
|
|
RUN cmake .. -DCMAKE_BUILD_TYPE=$build_type
|
|
|
|
# Build carl-parser
|
|
# RUN make carl-parser -j $no_threads
|
|
|
|
# Manage python packages
|
|
WORKDIR /opt/
|
|
RUN apt-get install -y python3-venv
|
|
|
|
|
|
# Python env handling
|
|
ENV VIRTUAL_ENV=/opt/venv
|
|
RUN python3 -m venv $VIRTUAL_ENV
|
|
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
|
|
|
|
RUN apt-get install -y python3-pip
|
|
|
|
|
|
# build pycarl
|
|
WORKDIR /opt/pycarl
|
|
RUN python setup.py build_ext -j $no_threads
|
|
RUN pip install .
|
|
|
|
# build tempestpy
|
|
RUN git clone https://git.pranger.xyz/TEMPEST/tempest-py.git /opt/tempestpy
|
|
WORKDIR /opt/tempestpy
|
|
RUN python3 setup.py build_ext --storm-dir /opt/tempest/ -j $no_threads develop
|
|
|
|
# build yaml-cpp
|
|
COPY ./yaml-cpp /opt/yaml-cpp
|
|
RUN mkdir -p /opt/yaml-cpp/build
|
|
WORKDIR /opt/yaml-cpp/build
|
|
RUN cmake .. -DCMAKE_BUILD_TYPE=Release
|
|
RUN make -j $no_threads
|
|
RUN make install -j $no_threads
|
|
|
|
COPY ./Minigrid2PRISM /opt/Minigrid2PRISM
|
|
|
|
# build minigrid to prism
|
|
RUN mkdir -p /opt/Minigrid2PRISM/build
|
|
WORKDIR /opt/Minigrid2PRISM/build
|
|
RUN cmake ..
|
|
RUN make -j $no_threads
|
|
|
|
# build minigrid
|
|
#COPY ./Minigrid /opt/Minigrid
|
|
#RUN rm -r /opt/Minigrid/.git
|
|
#WORKDIR /opt/Minigrid
|
|
#RUN pip install .
|
|
|
|
|
|
|
|
RUN apt-get update && apt-get install ffmpeg libsm6 libxext6 -y
|
|
|
|
WORKDIR /opt/tempestpy
|
|
RUN pip install -U "ray[all]==2.6.3"
|
|
RUN pip install dm-tree
|
|
RUN pip install opencv-python
|
|
RUN pip install scikit-image
|
|
RUN pip install torch
|
|
RUN pip install tensorboard
|
|
RUN pip install tensorboardX
|
|
RUN pip install gymnasium
|
|
RUN pip install tensorflow
|
|
RUN pip install jupyterlab
|
|
RUN pip install astar
|
|
RUN pip install ipywidgets
|
|
RUN pip install numpy
|
|
RUN pip install matplotlib
|
|
RUN pip install sb3-contrib
|
|
RUN pip install opencv-python
|
|
RUN pip install moviepy
|
|
|
|
ENV M2P_BINARY=/opt/Minigrid2PRISM/build/main
|
|
|
|
# We mount the Minigrid directory here manually again, to be able to have the directory hosted in the jupyter notebook
|
|
CMD ["pip", "install", "-e", "/opt/Minigrid"]
|
|
ENTRYPOINT ["jupyter", "lab","--ip=0.0.0.0","--allow-root", "--notebook-dir=/opt/notebooks"]
|