Synopsis
Description
Theui 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]'Options
Bind host address. Use
0.0.0.0 to allow external connections.Bind port (must be between 1-65535).
Allow dashboard UI downloads from prerelease/beta tags. Enables access to experimental features.
Examples
Start with default settings
Start the dashboard on localhost:8080:Use a custom port
Start the dashboard on port 3000:Allow external connections
Bind to all interfaces to allow remote access:Enable beta features
Use prerelease dashboard UI assets: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
Environment Variables
The UI command sets the following environment variables during runtime:Set to the dashboard URL (e.g.,
http://localhost:8080). Used by dashboard components.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:fastapi>=0.115.0- Web frameworkuvicorn[standard]>=0.34.0- ASGI serverwebsockets>=14.0- WebSocket support for real-time updates
Stopping the Server
PressCtrl+C to stop the dashboard server gracefully:
Exit Codes
| Code | Description |
|---|---|
0 | Success - server started and stopped cleanly |
1 | Error - failed to start server (missing dependencies, port in use, etc.) |
2 | Invalid usage - invalid port number |
130 | Interrupted - server stopped via Ctrl+C |
Common Issues
Missing dashboard dependencies
Port already in use
Invalid port number
Production Deployment
For production deployments, consider:- Reverse Proxy: Use Nginx or Caddy to handle HTTPS
- Authentication: Implement authentication middleware
- Process Management: Use systemd or supervisord for automatic restarts
- Resource Limits: Set appropriate ulimits and container limits
Example systemd service
Related Commands
smolvm doctor- Verify system requirements before starting the UIsmolvm cleanup- Clean up VMs managed through the dashboard