Viam hosting | Viam hosting

Viam hosting

Viam Applications is a hosting service for browser-based apps built with the TypeScript SDK or any frontend framework that produces HTML, JavaScript, and CSS. You upload your app’s build output to the Viam registry, and Viam serves it at {name}_{namespace}.viamapplications.com.

Viam Applications is one of five deployment options for SDK-based apps. It works by serving your app’s files (HTML, JavaScript, CSS) to a web browser. The browser downloads the files and runs the JavaScript locally. This means Viam Applications works for apps built with TypeScript, React, Vue, Svelte, or any other framework that compiles to files a browser can run. It does not work for Python, Go, or C++ apps, which run as processes on a server or workstation and need their own hosting; see the long-running service and local execution rows in the deployment options table.

Viam Applications handles three things that you would otherwise build yourself:

Two application types

Viam Applications supports two types, declared in your meta.json:

Single-machine. The app operates on one machine at a time. After login, Viam presents a machine picker (optionally filtered by fragment) and delivers a machine-scoped API key and hostname to the browser. Your app reads the credential from the cookie and passes it to the SDK. Use this when your app is a control interface or dashboard for a specific device.

Multi-machine. The app can access any machine the logged-in user has permissions for. After login, Viam delivers the user’s OAuth access token to the browser. Your app reads the token from the cookie and passes it to the SDK to enumerate machines across the organization and connect to each one. Use this when your app is a fleet dashboard or a multi-device management tool.

What’s in this section

Constraints