Publish an app to the NOVA app store
Last updated: July 21, 2026
Configure your app's manifest, install it with the NOVA CLI, and publish it to the Wandelbots NOVA app store catalog.
Once you’ve built and tested your app, e.g. a device integration, you can publish it to the NOVA app store with the Wandelbots NOVA CLI.
The NOVA CLI uses an application manifest closely linking to the Wandelbots NOVA API Application endpoints. This manifest is provided by default when you start an app with Typescript or Python templates.
Application manifest
# The name of the app, how it will be displayed on the NOVA homescreen.
# Must be a valid RFC 1035 label name, e.g. lowercase letters, digits, and hyphens.
name: rerun
# URL path to an application icon, which will pop up on the NOVA homescreen.
# The path starts at the root level.
app_icon: app_icon.webp
container_image:
# This is the image which will be running your service
image: wandelbots.azurecr.io/nova-apps/rerun:0.0.30
# The credentials required to pull images from private registries
credentials:
registry: wandelbots.azurecr.io
user: your-username
password: your-password
# The port where your app serves the OpenAPI interface, app_icon, and small UI. Defaults to 8080.
port: 3001
# Additional environment variables which will be available in the container.
environment:
- name: ENV_VAR_NAME
value: env_var_value
# The path and capacity of a volume that retains data across application restarts.
# The maximal requestable capacity is 300Mi. If you need more capacity consider using storeObject.
storage:
mount_path: /data
# The amount of local storage available for the application.
# NOTE: The capacity can NEVER be reduced!
capacity: 100Mi
# (Optional) Additional resources that the application requires.
resources:
# Number of Intel GPUs the application requires (0 or 1).
intel_gpu: 1
# The maximum memory allocated to the application.
memory_limit: 1000Mi
# (Optional) URL path suffix for the health check. Defaults to the app_icon path.
# If the health check fails, NOVA automatically restarts the application container.
health_path: /healthEnvironment variables
BASE_PATH: URL prefix used to mount your UI and API routes.NOVA_API: Internal endpoint that lets the container talk to NOVA.CELL_NAME: Name of the cell where the service is deployed.NATS_BROKER: The NATS broker endpoint accessible from within the application container.
Install and observe the service
Apply the manifest with the NOVA CLI:
nova app install your-app.yamlOnce installed, the app tile launches your web UI, and robot programs can call the same endpoints through
http://<your-instance>/cell/<app-name> from inside the cell network.
Publish your app in the app store
After validating the integration, submit your app to the Wandelbots NOVA catalog.
A catalog entry has its own format: your deployment manifest moves under an app key (in camelCase, following the catalog’s schema.json),
and catalog metadata like version, novaOsVersion, and description is added around it.
Registry credentials are referenced as named secrets. The secrets must be available on the NOVA instance by default.
version: 1.0.0
name: My App
novaOsVersion: ">= 25.3"
description: |
What your app does.
homepage: https://github.com/your-org/your-app
app:
name: my-app
appIcon: app_icon.png
port: 3000
containerImage:
image: docker.io/your-org/my-app:1.0.0
secrets:
- name: your-pull-secret- Add a folder
catalog/<your-app-name>/containingmanifest.yaml(followingschema.json) and anicon.png. - Open a pull request so the entry can be reviewed.
- Once merged, the app appears in the NOVA app store and can also be installed directly with the NOVA CLI:
nova catalog install <your-app-name>