Cloud computing platform for software development for physics applications on accelerators.
-
After login this platform, each user can create/update their own Jupyter-Notebook service with physics applications development environment included, w/ or w/o virtual accelerator running or not.
-
Each user has the private space to work with, e.g., the virtual accelerator which the user is manipulating will not affect other users.
-
Each user has the flexibility to adjust their own service settings, e.g., start/stop/pause/resume virtual accelerator with different LINAC sections.
-
The Jupyter-Notebook can only be accessed by the user who created.
-
Within Jupyter-Notebook, user can do anything based on the provisioned Python packages.
-
The extensibility to support more services, currently, only supports VA with FRIB LINAC configurations.
-
Available services:
phyapps-va
phyapps-nb
-
Install Docker & Pull Docker images:
docker pull tonyzhang/phyapps:<tagname>
where,
<tagname>
could benb
,va
. -
Initialize Swarm environment for deployment:
docker swarm init
.
-
Clone this repository:
git clone https://github.com/archman/phyapps-cloud.git
, locate Makefile. -
Set environmental variables in terminal or change in-place:
SRV_IP
: IP address of the workstation as the swarm serverTOKEN
: secret string for authenticationMYSQL_ROOT_PASSWORD
: root password for MySQL serviceDATABASE_NAME
: database name for phyapps-gateway serviceDATABASE_USER
: database user accountDATABASE_PASS
:DATABASE_USER
's password
-
Type
make deploy
to deploy. -
Type
make stop
to stop. -
The URL should be
https://<SRV_IP>:8000
Here is an example to deploy the phyapps_cloud
stack on the workstation with serving IP of 10.20.30.40
, with default configurations of MySQL service.
SRV_IP=10.20.30.40 TOKEN=6eec0c438f2e59711a1838d1207e1c make deploy
It is recommended to redirect the output to a file, e.g.
make deploy 2>&1 | tee log
- Only do once Database configuration:
https://<SRV_IP>:8000/init
, first initialize the database and then set up administrator account.