Skip to content

zhangt58/phyapps-cloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

phyapps-cloud

Cloud computing platform for software development for physics applications on accelerators.

Overview

  • 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

Prerequisites

  • Install Docker & Pull Docker images:

    docker pull tonyzhang/phyapps:<tagname>

    where, <tagname> could be nb, va.

  • Initialize Swarm environment for deployment: docker swarm init .

Deployment

  1. Clone this repository: git clone https://github.com/archman/phyapps-cloud.git, locate Makefile.

  2. Set environmental variables in terminal or change in-place:

    • SRV_IP: IP address of the workstation as the swarm server
    • TOKEN: secret string for authentication
    • MYSQL_ROOT_PASSWORD: root password for MySQL service
    • DATABASE_NAME: database name for phyapps-gateway service
    • DATABASE_USER: database user account
    • DATABASE_PASS: DATABASE_USER's password
  3. Type make deploy to deploy.

  4. Type make stop to stop.

  5. 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

  1. Only do once Database configuration: https://<SRV_IP>:8000/init, first initialize the database and then set up administrator account.

Screenshots

Home PageLogin Page

Users ActivitiesService Control

Create New ServiceJupyter Notebook

About

Playground for physics applications development

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published