Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>BoxLite CloudNew to Visual Studio Code? Get it now.
BoxLite Cloud

BoxLite Cloud

FD System Holdings

|
1 install
| (0) | Free
Deploy and manage BoxLite cloud applications with ease
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

BoxLite Cloud for Visual Studio Code

Deploy and manage applications on BoxLite Cloud directly from VS Code.

This extension provides a unified developer experience for creating, deploying, tunneling, configuring network isolation, streaming logs, and inspecting your microVM Box instances within a Boxlite Cloud instance.


Key Features

  • 1-Click Deploy ("Deploy to Box"): Deployment Pipleline:

    • Automates supervisor loops (PID 1 foreground lifecycle) to prevent premature container exits.
    • Verifies local guest health (/healthz on 0.0.0.0:8080).
    • Establishes private tunnels.
    • Automatically preserves and updates boxId in boxlite.json for rapid updates.
  • Advanced Box Creation Configuration Wizard: Comprehensive list of options for customizing every aspect of a new Box:

    • Base Images: Quick selection of official Cloud image aliases (python, node, ubuntu, debian, alpine) or custom OCI container tags.
    • Compute & Memory Sizing: Choose preset tiers (Small: 1 vCPU / 2GB RAM / 10GB Disk, Medium: 2 vCPU / 4GB RAM / 20GB Disk, Large: 4 vCPU / 8GB RAM / 40GB Disk) or custom vCPU/RAM/Disk quotas.
    • Network Policies: Inbound proxy access toggle and outbound egress policies (Unrestricted allow_net=[], Restricted Allowlist with strict host/CIDR validation, or Air-Gapped / Disabled without NIC).
    • Lifecycle Management: Idle auto-stop intervals (0s disabled, 5m, 15m, 30m, 1h, custom) and auto-delete lifecycle duration (0s persistent, 1d, 7d, custom).
    • Auto-Resume: Automatic request wake-up upon incoming HTTP proxy requests.
    • Entrypoint & Supervisor: /app/server.py supervisor, persistent keepalive shell loop, image default, or custom commands.
    • Environment Variables: Interactive key-value editor (KEY=VALUE).
    • Verified Templates: One-click presets for Python Web Apps, Node.js APIs, Egress-Restricted Boxes, and Air-Gapped Sandboxes.
    • Project Persistence: Save created configurations directly to boxlite.json.
  • BoxLite Explorer Tree View:

    • View account status and active REST API target.
    • Real-time status for all Boxes (Running, Stopped, Provisioning).
    • Inspect tunnels, active public/private URLs, persistent volumes, and network rules.
    • Direct context menu actions: Start, Stop, Restart, Stream Logs, Exec CLI, Inspect JSON, and Delete.
  • Managed Volumes Menu & Explorer (boxlite.volumesView):

    • Dedicated Volumes menu in the Activity Bar panel to view and manage storage within BoxLite Cloud.
    • Create new persistent volumes (Add New Volume...) with optional names or auto-generated identifiers.
    • Inspect volume state (ready, creating, deleting), volume IDs, and creation timestamps.
    • Mount volumes into existing boxes or workspace project configuration (boxlite.json).
    • Safe volume deletion with permanent data loss confirmation and force-deletion options.
    • Copy Volume ID and Name to clipboard for scripting and CLI compatibility.
  • Granular Network & Security Policies:

    • Inbound toggle: Enable or disable Cloud proxy access.
    • Outbound allowlist editor: Strict validation for hostnames (api.example.com), wildcards (*.example.com), IPv4 (1.2.3.4), and CIDR (10.0.0.0/8).
    • Private access token support (X-BoxLite-Access-Token).
  • Live Application Log Streaming:

    • Real-time output channel tailing /tmp/server.log.
  • Project Scaffolding:

    • Generates ready-to-run Python HTTP services binding 0.0.0.0:8080 with a healthy /healthz route, boxlite.json, .boxliteignore, and .gitignore.

Quick Start

1. Authenticate

Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) and run:

BoxLite: Sign In / Set API Key

Enter your BoxLite Cloud API key (BOXLITE_API_KEY). It is stored securely in VS Code's SecretStorage and never committed or written to project files.

2. Create a New Project

Run:

BoxLite: Create New BoxLite Project...

This scaffolds:

  • app/server.py — Standard library HTTP server with /healthz listening on 0.0.0.0:8080
  • app/index.html — Web page
  • boxlite.json — Project configuration
  • .boxliteignore — Excludes local artifacts (.git, .venv, node_modules, etc.)

3. Deploy

Click the BoxLite status bar button or run:

BoxLite: Deploy to Box

The extension executes the deployment pipeline and displays your public service URL.


Box Configuration Options Wizard

When creating a Box via BoxLite: Create Box with Options... (or by choosing Configure Box Options... from BoxLite: Add New Box...), an interactive QuickPick wizard displays the complete list of configurable options:

Option Values / Presets Description
Box Name Custom string (e.g. box-a1b2c3) Unique instance identifier
Base Image python, node, ubuntu, debian, alpine, or custom tag OCI / Cloud image alias
Compute Sizing Small (1 vCPU, 2GB RAM, 10GB Disk)
Medium (2 vCPU, 4GB RAM, 20GB Disk)
Large (4 vCPU, 8GB RAM, 40GB Disk)
Custom
Resource quota allocation
Inbound Access enabled / disabled Allows Cloud proxy tunnels & public/private URLs (§2)
Outbound Policy enabled (Unrestricted allow_net=[])
enabled (Restricted allowlist: hostnames / CIDR)
disabled (Air-gapped: no guest NIC provisioned)
Egress internet policy (§3)
Auto-Stop Interval 0 (Disabled)
300s (5m), 900s (15m), 1800s (30m), 3600s (1h), Custom
MicroVM idle shutdown timer (§1)
Auto-Delete Interval 0 (Disabled / Persistent)
86400s (1d), 604800s (7d), Custom
MicroVM lifecycle auto-removal timer (§4)
Auto-Resume enabled / disabled Automatic microVM boot/wake upon HTTP proxy request
Entrypoint App Supervisor (server.py watcher §1)
Persistent Keepalive (sleep 3600)
Image Default
Custom Command
Container init command
Environment Vars Interactive KEY=VALUE list Environment variables passed to container
Default Port Port number (default 8080) Target TCP port for declaring tunnels
Save to Project Save to boxlite.json Persists configuration into workspace project file

Configuration Templates

  • Python Web Application: Python image, 2 vCPU, 4GB RAM, inbound enabled, unrestricted outbound, supervisor entrypoint, port 8080.
  • Node.js Web Application: Node.js image, 2 vCPU, 4GB RAM, inbound enabled, unrestricted outbound, supervisor entrypoint (npm start), port 3000.
  • Secure Egress-Restricted Box: Python image, inbound enabled, restricted outbound allowlist, 15m idle auto-stop.
  • Air-Gapped Isolated Sandbox: Python image, 1 vCPU, 2GB RAM, inbound disabled, outbound disabled (no NIC provisioned), 5m idle auto-stop.
  • Ubuntu Linux Utility: Ubuntu image, 2 vCPU, 4GB RAM, keepalive entrypoint, 30m idle auto-stop.

Configuration (boxlite.json)

{
  "name": "my-app",
  "boxId": null,
  "image": "python",
  "appDir": "./app",
  "port": 8080,
  "healthPath": "/healthz",
  "start": "python3 -u server.py",
  "access": "public",
  "network": {
    "inbound": "enabled",
    "outbound": {
      "mode": "enabled",
      "allow_net": [
        "api.example.com",
        "*.github.com"
      ]
    }
  },
  "volumes": [
    {
      "managed_volume": "my-data",
      "guest_path": "/data"
    }
  ],
  "persistent": true,
  "autoStop": 0
}

Persistent Volumes & Lifecycle Guidelines

  • Managed Volumes: Volumes created in BoxLite Cloud are attached as block devices and formatted for persistent storage across Box stop/start lifecycles.
  • Rootfs Boundary: Transfers via copy_in operate exclusively on the guest rootfs layer. Paths at or under guest mount points (including /data, /tmp, /dev/shm, and mounted volumes) can be refused because they hide rootfs content. For data inside mounted volumes, use an exec-based archive/stream workflow or configure your application to write directly to the volume mount point.
  • Stateful Services: SQLite and other stateful databases can safely reside on persistent volumes (e.g. /data/app.db). Verify path readiness, commit data across stop/start cycles, and retain independent backups. Box deletion destroys unbacked resources; managed volumes outlive individual microVM boxes until explicitly removed.

Extension Commands

Command Title Description
boxlite.deploy Deploy to Box Deploy current workspace to a Box instance
boxlite.newProject Create New BoxLite Project... Generate starter template
boxlite.setApiKey Sign In / Set API Key Configure BOXLITE_API_KEY
boxlite.signOut Log Out Remove stored API key
boxlite.createBox Add New Box... Create a new Box instance (Wizard, Template, or Quick)
boxlite.createBoxWithOptions Create Box with Options... Interactive wizard with full list of configuration options
boxlite.refresh Refresh Refresh boxes and volumes explorer
boxlite.startBox Start Box Start a stopped Box
boxlite.stopBox Stop Box Stop a running Box
boxlite.restartApp Restart Application Restart process inside Box
boxlite.deleteBox Delete Box Safely remove Box with confirmation
boxlite.openUrl Open Public URL Open tunnel URL in browser
boxlite.copyUrl Copy Public URL Copy tunnel URL to clipboard
boxlite.streamLogs Stream Logs Stream /tmp/server.log in Output Channel
boxlite.setAccess Configure Inbound / Public Access Configure tunnel & public/private status
boxlite.configureOutbound Configure Outbound Network Policy Set outbound mode & hostname allowlists
boxlite.execCommand Execute Command in Box... Run ad-hoc shell commands in Box
boxlite.inspectBox Inspect Box (JSON) View complete Box state JSON
boxlite.createVolume Add New Volume... Create a new persistent volume in BoxLite Cloud
boxlite.refreshVolumes Refresh Volumes Refresh the Volumes explorer view
boxlite.deleteVolume Delete Volume Remove a persistent volume with confirmation (§4)
boxlite.inspectVolume Inspect Volume (JSON) View volume state and metadata JSON
boxlite.copyVolumeId Copy Volume ID Copy volume ID to clipboard
boxlite.copyVolumeName Copy Volume Name Copy volume name to clipboard
boxlite.addVolumeToBox Mount Volume in Box... Mount a volume into container or boxlite.json
boxlite.openDocs Open Documentation Open BoxLite agent documentation
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft