
Firecracker reso semplice. Avvia microVM sicuri in millisecondi, dall'installazione alla shell interattiva con un unico comando.
🔥 Kit di strumenti sandbox per microVM Firecracker
Crea, gestisci e connettiti a microVM Firecracker isolate dalla riga di comando. Avvia una VM sandbox in millisecondi, esegui comandi, trasferisci file — nessun SSH necessario.
--from-imagebase, node22, node24, python3.13--json per scripting e automazione--from-image)curl -fsSL https://vmsan.dev/install | bash
Questo scarica e installa tutto in ~/.vmsan/:
node22, node24, python3.13) scaricate come artefatti precompilatiLe installazioni di release standard scaricano i runtime integrati da https://artifacts.vmsan.dev/ e non richiedono Docker. Le installazioni da sorgente costruiscono ancora i runtime localmente.
curl -fsSL https://vmsan.dev/install | bash -s -- --uninstall
If you want to build from source:
# Install dependencies
bun install
# Build the in-VM agent
cd agent && make install && cd ..
# Build the CLI
bun run build
# Link local build
mkdir -p ~/.vmsan/bin
ln -sf "$(pwd)/dist/bin/cli.mjs" ~/.vmsan/bin/vmsan
# Create and start a VM
vmsan create --runtime node22 --memory 512 --cpus 2
# Create a VM from a Docker image
vmsan create --from-image node:22-alpine
# List all VMs
vmsan list
# Execute a command inside a VM
vmsan exec <vm-id> ls -la
# Interactive exec with PTY
vmsan exec -i <vm-id> bash
# Connect to a running VM shell
vmsan connect <vm-id>
# Upload a file to a VM
vmsan upload <vm-id> ./local-file.txt /remote/path/file.txt
# Download a file from a VM
vmsan download <vm-id> /remote/path/file.txt ./local-file.txt
# Snapshot a running VM
vmsan snapshot create <vm-id>
# List snapshots
vmsan snapshot list
# Restore a VM from a snapshot
vmsan create --snapshot <snapshot-id>
# Stop a VM
vmsan stop <vm-id>
# Remove a VM
vmsan remove <vm-id>
| Flag | Descrizione |
|---|---|
--json | Output JSON strutturato |
--verbose | Mostra output di debug dettagliato |
| Comando | Alias | Descrizione |
|---|---|---|
create | Crea e avvia una nuova microVM | |
list | ls | Elenca tutte le VM |
start | Avvia una VM ferma | |
stop | Ferma una VM in esecuzione | |
remove | rm | Rimuovi una VM |
exec | Esegui un comando all'interno di una VM in esecuzione | |
connect | Apre una shell interattiva su una VM | |
upload | Carica file su una VM | |
download | Scarica file da una VM | |
network | Aggiorna la policy di rete su una VM in esecuzione | |
snapshot | Gestisci snapshot VM (crea, elenca, elimina) | |
doctor | Verifica prerequisiti di sistema e stato dell'installazione |
vmsan.toml (pianificato per 0.5.0)nftables con applicazione atomica delle regole per l'isolamento di rete (dalla 0.2.0)# Build
bun run build
# Link local build
ln -sf "$(pwd)/dist/bin/cli.mjs" ~/.vmsan/bin/vmsan
# Dev mode (watch)
bun run dev
# Run tests
bun run test
# Type check
bun run typecheck
# Lint & format
bun run lint
bun run fmt
bin/ CLI entry point
src/
commands/ CLI subcommands
services/ Firecracker client, agent client, VM service
lib/ Utilities (jailer, networking, shell, logging)
errors/ Typed error system
generated/ Firecracker API type definitions
agent/ Go agent that runs inside the VM
docs/ Documentation site (vmsan.dev)
/30 (198.19.{slot}.0/30)Lo stato è persistito in ~/.vmsan/:
~/.vmsan/
vms/ VM state files (JSON)
jailer/ Chroot directories
bin/ Agent binary
kernels/ VM kernel images
rootfs/ Base root filesystems
registry/ Docker image rootfs cache
snapshots/ VM snapshots