App publishing overview¶
When experiments in Domino yield interesting results that you want to share with your colleagues, you can easily do so with a Domino App. Domino Apps host web applications and dashboards with the same elastic infrastructure that powers Jobs and Workspace sessions.
Domino supports hosting Apps built with many popular frameworks, including Flask, Shiny, and Dash. Apps are first-class objects in Domino, and Domino includes features that allow for easy sharing, monitoring, collaborating, and iterating on Apps.
Apps are published from Domino Projects. To publish an App, you need to:
- Have all of your application code in the project files for the Project you want to publish from, or loaded into your Project from an external git repository.
- Configure your application to serve from a host address of
8888. This is the host and port Domino will use when directing users to your application server.
- Have an
app.shfile in the project. Domino will look for and execute a shell script named
app.shafter creating the hardware that will host your App. Put all commands required to launch your application in
When your application code is ready for publishing, and you’ve set up app.sh, click Publish from the project menu, then click App. Give your App an informative name and description, choose a permissions setting, and toggle the Show in Launchpad checkbox to control whether your App appears in the Domino Launchpad.
Click Publish when you’re finished.
Once your App is published, the App link from the project menu will navigate you to the App settings page, where you can click View App to open your App or copy a link to it for sharing with your colleagues.
For complete end-to-end examples of App publishing, check out these tutorials:
- Getting started with Dash (Python App framework)
- Getting started with Shiny (R App framework)
- Publishing a Flask web app in Domino
Remember these key facts about App publishing
- Your App will run on the same Domino execution hardware your project uses normally. Make sure your environment has all the dependencies your application requires.
- Your application must be configured to serve from a host address
- The performance of your App will depend on the design of the underlying application. Read more about designing applications for performance.
The App settings page has a View App button that can be used to open your App while it is running. You can also copy a persistent URL that can be used to access and share your App.
You can also see all of your own Apps from the Launchpad.
A dashboard showing the history of Runs hosting your App can be seen on the App Versions tab of the App settings page.
Project owners, contributors, and results consumers automatically have access to an App. To control more general access to an App, use the Permissions tab on the App settings page.
Under Access Permissions are the following four options:
Anyone, including anonymous usersAny request to the App URL will be served the App. This setting meansthat anyone with network access to Domino can view your App. This isuseful for sharing Apps with people on your network who do not haveDomino accounts.
Anyone with an accountAll users who have Domino accounts and are logged in to Domino canview your App.
Invited users (other users may request access)All users who have Domino accounts and are logged in to Domino canrequest access to your App if it appears in the Launchpad, but cannotview the App until the owner grants the request.
Invited users onlyOnly Domino users who are added by the App owner via the Invite People field can view the App.Users cannot request access.
Use the Invite People field to send email invites. Domino users who receive an invite will be able to access the App.
Users who request access will appear provisionally in the Who has access table, and their requests can be granted or denied from controls in the Status column.
All Apps that are configured to Show in Launchpad will appear in the Domino Launchpad.
This is the primary interface for Domino users who want to consume Apps. You can click on an App in this list to see its description, settings, recent usage, and a link to either view the app or request access.
When viewing an App in Domino, App consumers have access to a toolbar with controls to view the App description, and to contact the App owner.