In addition to Yonohub’s built-in apps, you can create and manage your own custom apps using Yonohub. Custom apps are great to seamlessly bring your existing tools, technologies, and development environments to Yonohub and to make them accessible to everyone at anytime. Even if your applications are not built for the web, you can always access them using remote desktop technologies.
A custom app is essentially an environment that can be launched. To create a custom app, you need to build (or purchase) an environment that can be launched. An environment can be launched if you check the Enable launch settings checkbox under the Launch Settings tab in YonoEBuilder. Then, you should specify all the required attributes (explained in details here) and build your environment.
Then, you should create the custom app on the main view.
Creating Custom Apps
Create a custom app on the main view by clicking Add App, then providing the required info as explained below, then clicking Launch or Express Launch.
- Deployment Region of the app if you have a multi-site on-premises deployment of Yonohub.
- Resource Model on which to run your app.
- Environment Configurations can be provided to customize the behavior of the app. These configurations are defined by the environment owner.
- Allowed IPs are the list of IP addresses that are allowed to access this app after launch. By default, you will find a single entry “My IP” which allows your machine based on its public IP address. You can more IPs if you need more devices to access to your app.
- App Settings:
- Name and Icon of the app on the main view.
- Environment and Version for the environment behind this custom app.
Working with Custom Apps
For a running custom app, you can click its icon to:
- See the list of URLs you can use to access the app. These URLs are defined by the environment owner. If the URL is HTTP or HTTPs, you can simply click it to open the app in a new tab.
- Terminate the app when needed. Note that closing the browser tab of a custom app does not mean that the app is terminated. The app will never be terminated unless you click the Terminate button or click the stop sign on the app icon on the main view of Yonohub. For convenience, if you terminate the app, it is not removed from the main view in case you need to launch it later.
- Save environment allows you the save the current state of your app into a new version of the existing environment or a brand-new environment. You can track the progress of saving the environment using YonoEBuilder. Please do not close or interact with the application until the environment becomes Released.
- This feature is very useful if you access your app and make changes that can’t be automated or hard to automate using YonoEBuilder. It is also useful if you would like to save the state (i.e., all the files on the disk, not the memory contents) of your app to terminate it temporarily and launch it later in the same state.
- Beware that if you save an environment in this manual way, a new row in the requirements table of this environment will be added indicating that this environment has been manually updated. This limits your ability to edit any rows above the added row, but you can still add new requirements afterwards.
Note that when you launch a custom app, your YonoDrive folders are available under /MyDrive, /MyTeams, /Keys, and /YonoStoreDatasets. Anything you modify under YonoDrive folders will be persisted in YonoDrive, but beware that this is a slow type of storage. For a fast SSD, you can use the root directory, but beware that this is not persisted in YonoDrive. You have to move your files from the SSD to YonoDrive before terminating the custom app if you wish to persist your files.
Yonohub provides Jupyter Notebook as a pinned custom app on the main view. Jupyter Notebook allows you to create documents that contain live code, equations, visualizations and narrative text. Jupyter Notebook is considered the IDE of Yonohub and it includes a Terminal as well. Uses include data cleaning and transformation, numerical simulation, statistical modeling, data visualization, machine learning, and much more.
Jupyter Notebook works with any environment, even it doesn’t have launch settings. To launch Jupyter Notebook, similar to any other custom app:
- Click its icon on the second row of apps in Yonohub’s main view.
- Enter the required information for the app as explained above.
- Click Launch or Express Launch. Wait until the app finished loading.
- Once the app is running, click its icon then click the Web UI URL. All these guidelines of working with custom apps apply to Jupyter Notebook as well.