-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
44 lines (39 loc) · 1.4 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
# syntax=docker/dockerfile:1.4
FROM --platform=linux/amd64 debian:bookworm
WORKDIR /home
COPY requirements.txt .project-root ./
COPY data data/
RUN <<EOF
set -e
apt-get update
apt-get install -y curl
apt-get install -y python3 python3-pip
# to compile PRISM Binary
apt-get install -y gcc make
# PRISM needs some Java >= 8
apt-get install -y openjdk-17-jdk-headless
# directories for PRISM queries
mkdir -p /home/queries
# directories used in tool and output
mkdir -p /home/generated
mkdir -p /home/out
# install PRISM
curl https://www.prismmodelchecker.org/dl/prism-games-3.2.1-src.tar.gz | tar zxvf -
(cd prism-games-3.2.1-src/prism && make)
apt-get install -y graphviz graphviz-dev
pip3 install pygraphviz --break-system-packages
# install required python libraries
pip3 install --no-cache-dir -r requirements.txt --break-system-packages
# download case studies data
curl "https://zenodo.org/records/6962413/files/data.csv?download=1" -o data/data.csv
curl "https://data.4tu.nl/file/34c3f44b-3101-4ea9-8281-e38905c68b8d/f3aec4f7-d52c-4217-82f4-57d719a8298c" | gunzip > "data/BPI Challenge 2017.xes"
EOF
COPY probabilistic_game_utils.py \
io_alergia_greps.py \
io_alergia_bpic.py \
run.py \
./
# copy project subdirectories
COPY queries /home/queries
COPY journepy /home/journepy
ENTRYPOINT ["python3", "-u", "./run.py"]