Share a Web Application#
Overview of Shared Web Applications#
All you need is a remote location with network access enabled. Recipients do not need AI Workbench.
Activate the remote location in external-access mode using the Workbench CLI
Start the web application you want to share
Generate a share-link in the Workbench CLI
Send the share-link to whoever you want to share the web application with
Recipients of the shared application have the following capabilities and restrictions:
Can open the web application in a browser and use it as you do from within Workbench
Loses access after 48 hours
Cannot access the remote location, host, or other files and applications in the project
Cannot share access to the web application with anyone else
Requirements, Limitations, and Security#
Requirements#
A remote location with network access enabled
Port 10000 open for TCP connections, with firewall rules aligned to your security policy
The project you want to share deployed on that remote location
Limitations#
This feature is only recommended for lightweight demos, user-testing, and other one-off activities.
It will not work for production.
It’s only available for projects on remote locations.
It will not support concurrent or multiple users outside of what the application itself does.
It does not provide high-availability or load-balancing outside of what the application itself does.
You can address some of these limitations by modifyingthe web application.
However, this still will not work for production.
You should still not expect high-availability or load-balancing.
Security#
This feature has some simple security features built into it.
Access to the application expires after 48 hours
You can revoke access at any time by stopping the application. You do not have to stop the project container
Once a user clicks the share-link URL, it is bound to the browser it opens in
Nobody on another host can use the same link
Even the same user on the same host cannot use the link in a different browser
However, it is ultimately your responsibility to secure your system and applications.
Warning
This feature is designed with security in mind, but you are responsible for the protection of your system and applications.
Follow these best practices.
Restrict network access: Configure firewall rules to limit incoming connections to known IP addresses or CIDR blocks
Be cautious with share-links: Only share them with trusted colleagues
Monitor shared applications: Regularly check access logs and revoke access if no longer needed
Sharing Your Web Application#
Enable Sharing Through external-access
Mode#
Activating a remote location for sharing is only supported through the Workbench CLI.
This requires some familiarity with the CLI and assumes that you already have a remote location created and connected to your local Workbench.
Open a terminal with access to the Workbench CLI on your local system and do the following.
Activate the remote with the project and application you want to share with the command:
nvwb activate <remote-location> --external-access
Open the project containing the web app you want to share with:
nvwb open <project-name>
Start the web application that you want to share with:
nvwb start <app-name>
Tip
Here is a cheat sheet with some potentially useful CLI commands:
nvwb list contexts
: List available remote locations
nvwb list projects
: List projects on the current location
nvwb list apps
: List available applications on the current project
Create a share-url
#
Once access is enabled, follow these steps to generate a unique shareable URL for your application.
Generate the URL for the application with the command:
nvwb create share-url <app-name>
Copy the generated URL from the command output and send it to the user
Revoke Access#
Each shareable URL automatically expires after 48 hours. If you need to revoke access before the expiration, do one of the following:
Option 1: Stop the Application
Just stop the application in the Desktop App, for example in the Project Dashboard
This does not actually block access - it just shuts the application down and restarting the application will allow access again as long as the URL is still valid
Option 2: Shutdown the Remote Location
This invalidates all URLs for all users, ensuring no further access
URLs cannot be used again, even if the remote location is activated and the application restarted
You will need to generate a new URL to share with users