Skip to main content
The following guide sets up your Domino project more as a proper website powered by Flask. This isn’t difficult; you just need to make sure all the folders and files are in place to ensure the app runs correctly.

Create the App structure

First, you’ll need to create the app structure. The following is what we’ll end up with, and we discuss each area in turn. Note that /mnt is your Files directory on Domino. Also, the following names matter: __init__.py, /static, /templates. Besides those, everything can be customized to your liking in this topic.

Create the folders

In the Files section of Domino make a new folder called flask_app. This is a Python package that contains the web app. In the flask_app folder put two other folders, one called static the other templates. In the static folder you put your static files and in the templates folder you put your template files. The static and templates folders are recognized by Flask to know from where to fetch the appropriate files. It’s possible to change which folder is noticed as the static folder, but common practice is to just leave it as static.

Create the files

Create an __init__.py file in the flask_app folder. This file makes flask_app a Python package. In that file put the following:
Back in your Files section of Domino create a new file called run.py. In run.py add the following:
Also in your Files section of Domino, create a new file with the following content:
The purpose of this file is to provide the configuration including the host and port for your flask app when starting the web hosting process. You select this file as your app file, which Domino then runs within the container that contains your project files.
Domino requires the App service to use host 0.0.0.0 and port 8888.

Customization

Now we’re going to add a views.py file. This file is where you place all your app logic and should be created in the flask_app directory. We’ll make a simple app that just returns “Hello World!” Add the following to views.py:
If you have a template in the templates folder, you would add:

Publish and deploy the App

Before Domino 6.3.0, selecting Publish App created and deployed the App in one step. In 6.3.0, the EnableAppsSDLC feature flag is enabled by default and separates the workflow: preview the App in a Workspace, publish a version, then deploy that version.
1

Create the App

On your project’s Deploy > Apps & Agents page, select Create, then App in Workspace. Any workspace you already have open works too. See Create an App.
2

Preview it

In the workspace, open the App Preview tab and set the App file, Compute Environment, and Hardware Tier. Commit your code first, because preview runs the latest committed code. See Develop and test an App.
3

Publish a version

Select Publish App, then Publish as a new App. This records an immutable version and doesn’t start it.
4

Deploy the version

On the App details page, select the version and select Deploy, then set access under Access and sharing. See Publish and deploy App versions and Share an App.
Set permissions to Anyone in Domino to let any user with a Domino account open the App from its URL, and select Make globally discoverable so others can find it. You can change both later. Once the App status says Running, select View App to load it.

Share and consume

Use Anyone in Domino to share the App with colleagues who have Domino accounts. To test broad access, select Deployments > App > Copy App Link, then open the link while signed in as a Domino user who isn’t a Project collaborator. To browse more apps, click Deploy > Apps in the top navigation menu.
Last modified on September 3, 2026