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.

  1. Activate the remote with the project and application you want to share with the command:

    nvwb activate <remote-location> --external-access
    
  2. Open the project containing the web app you want to share with:

    nvwb open <project-name>
    
  3. 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