Padins
A workflow management system for scientific devops.
https://antoinecheron.github.io/padins-backend/
Goal : to develop a computational tool for science researcher. This tool let them do three main things :
- Design a scientific worklow
- Execute the workflow on a distributed system
- Visualize the results, including matrices as videos
Typical Use Cases
- User wants to produce a Boussinesq Simulation on a hillslope and see the results on a chart, choosing the kind of chart. Then go through the chart.
- User wants to adjust its mathematic model comparing the simulation's results and the data she picked up on the real case study.
Getting Started
There are two way to run this project : using an already built docker image or using the binaries.
Using docker :
Prerequisites
To run this project, you'll need :
Docker
https://www.docker.com/community-edition
Our lmt-python-core image
docker pull antoinecheronirisa/lmt-python-core
Then you just need to run it, no installation needed
UNIX-based OS
- Open a terminal
docker run -it --rm -p 8080:8080 -v /usr/include/padins/0-1-0:/usr/include/padins/0-1-0 -v /var/run/docker.sock:/var/run/docker.sock antoinecheronirisa/padins
- Go to : http://localhost:8080
WNIDOWS(data will not be persistent. I recommend using a Linux vm)
- Open the Windows Cmd
- Open port 445 of Windows trough the firewall, typing
netsh firewall set portopening tcp 445 enable
- Make sure docker is started, then
docker run -it --rm -p 8080:8080 -v /var/run/docker.sock:/var/run/docker.sock antoinecheronirisa/padins
- Open another Windows Cmd and type the following command to get the padins container's IP address :
docker-machine ip default
. Info : default is the name of the open VirtualBox. - Go to : http://{{ container's IP address }}:8080
Stopping the server
Simply use 'ctrl+c'
Starting the server in the background
Replace -it
with -d
in the commands above. -it
stands for interactive. Instead -d
stands for detached.
When using -d, if you want to stop the server I recommend naming the container, for example 'padins-server', then using
the command 'docker stop padins-server'.
As an example, you can use this command :
docker run -d --rm -p 8080:8080 -v /usr/include/padins/0-1-0:/usr/include/padins/0-1-0 -v /var/run/docker.sock:/var/run/docker.sock --name padins-server antoinecheronirisa/padins
Using the binaries (Linux and MacOS)
[INFO] MacOS doesn't have the package manager apt-get. Instead, on every command using apt-get, use brew. For instance, apt-get install maven
becomes brew install maven
.
If you don't know homebrew, you can download it clicking this link.
Prerequisites
To run this project, you'll need :
Docker
https://www.docker.com/community-edition
A Java Virtual Machine
https://java.com/en/download/
OR
apt-get install default-jdk
You will also need maven and npm
sudo apt install maven
sudo apt-get install npm
Installing
First : open your terminal and go to the folder where you want to install this project
Then download the version you want,
For the stable version (latest release) :
wget "https://github.com/AntoineCheron/padins-backend/archive/v0.1.0.zip"
unzip v0.1.0.zip -d ./
cd padins-backend-0.1.0
For the last development version :
wget "https://github.com/AntoineCheron/padins-backend/archive/master.zip"
unzip master.zip -d ./
cd padins-backend-master
Then, just one step to install :
./install.sh
Running
- Go to the folder where you installed the project
- Run the following command :
./run.sh