📦 InstaBox — Una Máquina Linux por Agente

Qué es

InstaBox da a cada agente una máquina Linux propia en la nube: micro-VM Firecracker con Debian 13, escritorio y Chromium, manejable por CLI, SDK TypeScript o API REST.

  • 🆓 Plan gratis real: 1 máquina 4 vCPU / 8 GiB, 20 GiB de disco, 5 snapshots y 100 GiB de egress/mes
  • 💳 Pago: desde $20/mes + uso (Pro), por segundo y solo mientras corre
  • 🧠 Agent-native: npx instabox@latest sh instala CLI + skills y arranca una máquina

La diferencia con CreateOS

CreateOS regala 500 créditos y luego cobra. InstaBox tiene un plan Free permanente (con límites), así que sirve para dejarlo montado y probar sin tarjeta. La contra: solo 1 máquina a la vez y 480 minutos de ejecución máxima.


📋 Ficha técnica

CampoDato
Webinstabox.sh
APIhttps://api.instabox.sh
SDK@insforge/instabox-sdk (TypeScript)
AislamientoFirecracker microVM
SistemaDebian 13 (trixie) amd64 · kernel 6.18.54
Default4 vCPU / 8 GiB · 16 GiB root · 20 GiB /data
Home/data/home
IncluyePython 3.13, Node, Bun, Go, Rust, OpenJDK 21, escritorio y Chromium
Templatesagent-browser (default) · ci · universal · t3 · herdr · orca
Free1 máquina · 5 snapshots · 100 GiB egress/mes

💸 Planes y precios

PlanPrecioMáquinasTamaño máx.DiscoSnapshotsEgress/mes
Free$014/820 GiB fijo5100 GiB
Pro$20/mes + uso100 concurrentes8/16hasta 200 GiBIlimitados1 TiB
Builder$100/mes + uso200 concurrentes16/32hasta 500 GiBIlimitados5 TiB
Team$500/mes + uso500 concurrentes32/64hasta 1 TiBIlimitados50 TiB
EnterpriseCustom—————

Los planes pagos incluyen créditos por el valor del plan (100, $500) y luego cobran por uso. El Free no cobra: vive dentro de sus límites.

Precio por uso (más allá de los créditos)

RecursoPrecio
vCPU$0,004 / vCPU-hora
Memoria$0,00225 / GiB-hora
Storage**0,08/GiB-mes)
Egress$0,02 / GiB (después del incluido)
  • Se factura por segundo, solo mientras corre.
  • Pausada: pagas solo disco (20 GiB incluidos por sandbox).
  • Los snapshots son gratis.
  • Ingress siempre gratis.

Límites del Free: idle pause fijo a 30 min y ejecución máxima 480 min. No se puede cambiar.


🚀 Empezar

Instalación y primera máquina

# Todo en uno: login + CLI + skills + máquina
npx instabox@latest sh
 
# O solo el CLI
npx instabox@latest
curl -fsSL https://api.instabox.sh/install.sh | sh
 
# Crear y entrar
instabox create --name dev
instabox ssh dev
instabox exec dev -- uname -a

Sin terminal: INSTABOX_API_KEY permite autenticarse sin navegador ni device code. Si no hay TTY ni key, sale con estado 3.

Solo skills: npx instabox@latest skills install -y (sin login).

Dónde instala las skills

npx instabox@latest sh las pone en ~/.claude/skills y ~/.agents/skills — globales de tu usuario, no en la bóveda. Si ya tienes skills ahí, revisa antes o usa --no-skills. Para Ryukami Labs, lo limpio es instalar en el proyecto o copiar solo la skill que necesites.


🧰 CLI: lo que vas a usar

ComandoPara qué
instabox loginLogin por device code o INSTABOX_API_KEY
instabox templatesVer plantillas disponibles
instabox create --name N [--template T | --snapshot S]Crear máquina
instabox ls / getListar o inspeccionar
instabox exec <m> -- <cmd>Ejecutar un comando; devuelve su exit code
instabox exec --stream <m> -- <cmd>Ver la salida en vivo
instabox exec --background <m> -- <cmd>Job detached + ID
instabox jobs ls|logs|wait|kill <m>Gestionar jobs
instabox agent prompt|events|steer|interrupt|ls <m>Manejar Claude Code o Codex dentro de la máquina
instabox logs <m> [-f]Consola y operaciones recientes
instabox ps / history / outputProcesos, comandos y salidas pasadas
instabox ssh <m>Shell por SSH
instabox files / cp / pushLeer, copiar y subir archivos
instabox suspend|resume <m>Pausar y reanudar conservando memoria
instabox stop|start|rm <m>Ciclo de vida
instabox restart <m>Power-cycle si se colgó
instabox resize <m> --disk N / --vcpus N --mem-mib MCambiar disco o tamaño (pagos)
instabox auto-suspend <m> 10m|0Idle pause (pagos; Free fijo 30 min)
instabox snapshot save|import|restoreGuardar, importar OCI o restaurar
instabox fork <m> [--count N]Clonar en segundos en el mismo host
instabox port publish <m> <port>URL HTTPS pública (o link privado con token)
instabox port-forward <m> <port>Túnel local hasta Ctrl-C
instabox keys create --name NAPI key (se muestra una vez)
instabox usageConsumo y límites

🔌 API en 30 segundos

  • Auth: X-API-Key: ibk_... o Authorization: Bearer ....
  • Lifecycle: create, start, stop, suspend, resume, delete y los endpoints que lo listan piden Idempotency-Key.
  • Borrar: exige X-Confirm-Delete con el ID o nombre exacto; si no, 409 delete_confirmation_required.
  • Exec: POST /v1/machines/{id}/exec con cmd (bash) o argv (sin shell), no ambos. Accept: text/event-stream para streaming SSE.
  • Salida: sin streaming se corta a 1 MiB por stream; bytes no UTF-8 se vuelven U+FFFD. Para binarios, usa files/pull, no cat.
  • Errores: ramifica por error.code, no por el mensaje; retryable y retryAfterSeconds dicen si reintentar.
  • Workspaces: cada API key vive en uno y no ve nada fuera; lo de otro workspace es 404.
  • Scopes: una key no puede crear/listar/revocar keys, tocar Vault, GitHub CI, billing, workspaces ni sesiones (403 permission_denied).

Ejemplo mínimo

curl -H "X-API-Key: $INSTABOX_API_KEY" \
  https://api.instabox.sh/v1/machines

🧩 Capacidades que marcan la diferencia

CapacidadDetalle
SnapshotsGuarda una máquina y crea otras desde ella; también importa imágenes Docker/OCI
ForkCopia una máquina en segundos en el mismo host, sin snapshot
Restore in placeVuelve los discos a un snapshot manteniendo ID, nombre y URLs
EscritorioVer y controlar la máquina; el agente puede manejarla; link compartible
PuertosHTTPS público por puerto o link privado con token
SSH / moshShell normal o port-forward sin key
Devcontainerscreate --devcontainer [PATH] desde un devcontainer.json
MCPHerramientas de sandbox para Claude Code, Cursor y Codex
Org SecretsCredenciales inyectadas por el proxy de salida en headers HTTPS
WebhooksPOST firmados cuando una máquina está lista, pausa, para, falla o se borra
CIGitHub Actions con runs-on: instabox-medium o desde cualquier CI
Agent sign-upUn agente sin navegador se registra y el dueño aprueba con un código

⚠️ Límites y trampas

  • Free = 1 máquina a la vez. La promo de 5 sandboxes de cuentas viejas termina el 2026-12-01.
  • Free: 480 min máximo de ejecución y auto-pause fijo a 30 min.
  • /tmp es tmpfs (~mitad de la RAM), no el disco. Para staging grande: TMPDIR=$HOME/tmp.
  • Swap: /data/swapfile del tamaño de la RAM hasta 4 GiB; se salta si /data quedaría con menos de 1 GiB libre.
  • OOM: el kernel mata el proceso (normalmente exit 137), la máquina sigue viva; oomKills lo cuenta.
  • Faltan CLIs comunes: time, rg y htpasswd hay que instalarlos; el image no trae listas de apt, corre apt-get update primero.
  • npm global: /opt/npm es del usuario; sudo npm install -g deja archivos root y rompe la siguiente instalación.
  • Upload cap: ~50 Mbit/s por VM (~6 MB/s) de salida. Las descargas hacia la VM no tienen tope.
  • Snapshots: sin tamaño explícito usan el spec del plan, no el de origen; pasa --vcpus/--mem-mib.
  • Disco Free fijo en 20 GiB, sin resize.
  • Borrar por API siempre con X-Confirm-Delete, también con keys nuevas.

🐉 Mi lectura

El mejor «gratis» de los tres

Comparado con CreateOS (500 créditos) y Upstash Box, InstaBox es el que puedes dejar funcionando sin tarjeta: una VM completa 4/8 con escritorio, snapshots y fork. Para probar agentes que escriben código —o para darle a OpenCode un entorno desechable— alcanza y sobra.

Lo que vigilaría: el límite de 480 minutos y el auto-pause de 30 min en Free; y que el instalador de skills escribe en ~/.agents/skills global. Si lo usas con la bóveda, instala con --no-skills y copia a mano la skill que necesites.


🔗 Enlaces