Skip to main content
Use smolvm ui to open a local browser dashboard for your sandboxes. You can inspect running sandboxes, view logs, and manage common actions without switching between terminal commands.

Synopsis

Description

The ui command starts a local web server that hosts the SmolVM dashboard interface. The dashboard provides a graphical interface for managing VMs, viewing logs, and monitoring system resources.
The dashboard requires the dashboard extra to be installed: pip install 'smolvm[dashboard]'
When SmolVM runs from an installed package and the dashboard build is not already present, the server downloads the newest stable dashboard asset from GitHub Releases. Dashboard assets are named like smolvm-dashboard-ui-<tag>.tar.gz and are cached under the local SmolVM data directory.

Options

--host
string
default:"127.0.0.1"
Bind host address. Use 0.0.0.0 to allow external connections.
--port
integer
default:"8080"
Bind port (must be between 1-65535).
--allow-beta
flag
default:"false"
Allow dashboard UI downloads from prerelease/beta tags. Enables access to experimental features.

Examples

Start with default settings

Start the dashboard on localhost:8080:
Output:

Use a custom port

Start the dashboard on port 3000:
Output:

Allow external connections

Bind to all interfaces to allow remote access:
Output:
Binding to 0.0.0.0 allows connections from any network interface. Ensure appropriate firewall rules are in place.

Enable beta features

Use prerelease dashboard UI assets when you want to test dashboard changes before the next stable release:
Output:

Combine options

Custom host, port, and beta features:

Dashboard Features

The SmolVM dashboard provides:
  • VM Management: Create, start, stop, and delete VMs
  • Real-time Monitoring: View VM status, resource usage, and logs
  • Network Configuration: Manage port forwarding and network settings
  • Console Access: Web-based terminal access to VMs
  • Environment Variables: GUI for managing VM environment variables

Dashboard release assets

The dashboard UI is published separately from the Python server code. At startup, smolvm ui scans recent SmolVM releases, finds the newest dashboard bundle, downloads it, and extracts the dist/ directory for static file serving. Stable releases are used by default. Pass --allow-beta to include prerelease dashboard bundles. You can override the static UI directory for local dashboard development:

Environment Variables

The UI command sets the following environment variables during runtime:
SMOLVM_DASHBOARD_URL
string
Set to the dashboard URL (e.g., http://localhost:8080). Used by dashboard components.
SMOLVM_DASHBOARD_ALLOW_BETA
string
Set to "1" when --allow-beta is enabled. Triggers beta asset downloads.
These environment variables are automatically managed and restored to their previous values when the server stops.

Requirements

The dashboard requires additional dependencies. Install them with:
This installs:
  • fastapi>=0.115.0 - Web framework
  • uvicorn[standard]>=0.34.0 - ASGI server
  • websockets>=14.0 - WebSocket support for real-time updates

Stopping the Server

Press Ctrl+C to stop the dashboard server gracefully:

Exit Codes

Common Issues

Missing dashboard dependencies

Solution: Install the dashboard extra:

Port already in use

Solution: Use a different port or stop the process using the current port:

Invalid port number

Solution: Use a valid port number between 1 and 65535:

Production Deployment

For production deployments, consider:
  1. Reverse Proxy: Use Nginx or Caddy to handle HTTPS
  2. Authentication: Implement authentication middleware
  3. Process Management: Use systemd or supervisord for automatic restarts
  4. Resource Limits: Set appropriate ulimits and container limits

Example systemd service

Last modified on June 24, 2026