Search Docs by Keyword
Developing your own app using Open OnDemand
We provide applications on Open OnDemand based on software usage/user requests, but OnDemand also provides a way to develop or deploy additional applications developed by the OnDemand organization, or FASRC’s customized apps on GitHub, like RStudio, Jupyter, or Matlab.
You will need to follow the steps below to enable the development option in the OnDemand menu.
To enable your development environment you should:
- Get to a shell interface: you could SSH to a login node, or connect to Open OnDemand on your cluster and use the Clusters menu item to get shell access, or start a Remote Desktop session and use the Terminal Emulator.
- Create the dev directory
- Cannon:
mkdir $HOME/.fasrcood/dev
- FASSE:
mkdir $HOME/.fasseood/dev
- Cannon:
- This should make the Develop menu item appear in the upper right when you view the Open OnDemand interface
Now you can access your sandbox development environment: either click on the item in the Develop menu in the dashboard, or navigate in the shell to
$HOME/.fasrcood/dev
, create an app folder in there and start your development.
Once your dev path is created, you can start working on applications there.
One way to get started is to check out an app from https://osc.github.io/ood-documentation/latest/install-ihpc-apps.html and update the module names/versions and launch the application.
Another option is to use FASRC’s Jupyter, RStudio , or Matlab apps. You can git clone these into the dev folder, restart the webserver and go to My Sandbox Apps to access.
For example, to create a sandbox app using FASRC’s customized RStudio app, you would navigate to the dev folder, then clone the git repo.
cd $HOME/.fasrcood/dev
git clone https://github.com/fasrc/ood-rstudio-rocker
To make the application work, you may need to update some files:
https://github.com/fasrc/ood-rstudio-rocker/blob/master/form.yml
cluster:
"odyssey3"
or "fasse"
based on cluster
bc_queue:
"shared"
or "fasse"
. You may need to update number of cores also based on the cluster and partition.
r_version:
options:
if you have created a new singularity image, you can specify it as an option here.
As an example of additional ways to specify container locations:
A previous version of the RStudio app listed the Singularity container location directly in the script file.
https://github.com/fasrc/fas-ondemand-rstudio/blob/master/template/script.sh.erb
This lists a location for the Singularity images that is not accessible on the Cannon or FASSE cluster. You will need to update the location to use the path for the directory of the container you have created.
Feel free to reach out to rchelp@rc.fas.harvard.edu or visit our office hours to help deploy a container or answer further questions.