
Sesenta contenedores en un servidor
Un servidor bare-metal ejecuta decenas a cientos de contenedores Hoody. KSM y dedup BTRFS hacen que el costo marginal sea casi cero.
Toma una snapshot de tu baseline de desarrollo una vez. A partir de ahí, cada nueva incorporación recibe una URL. Hace clic en el portátil que tenga y ya está dentro de un contenedor fresco que es un clon del baseline — codebase, dependencias, variables de entorno, base de datos seed, VSCode en el navegador. Escribiendo código en cinco minutos. No configurando.
¡Bienvenido! Tu entorno de desarrollo está listo: https://devbox-jordan.hoody.dev. Postgres sembrada, repo clonado, solo cd ~/work && bun dev.
Las snapshots de Hoody capturan un contenedor entero — archivos en disco, cuentas de usuario, archivos de unit de systemd, base de datos seed. Container copy clona esa snapshot en un contenedor fresco por desarrollador. El enlace en el correo es la ruta a ese contenedor fresco.
POST .../snapshotsToma una snapshot con nombre de tu contenedor de referencia — llámala dev-baseline. Vuelve a ejecutarlo cuando cambie el baseline.
POST .../copy [ source_snapshot ]Una llamada API clona la snapshot en un contenedor fresco bajo el proyecto del nuevo desarrollador.
alex-laptop.containers.hoody.comEl contenedor llega con una URL pública desde el principio. Pégala en Slack. Hacen clic. Están dentro.
ttyd · webview · sshhoody_kit enciende automáticamente los endpoints de terminal, navegador de archivos y VSCode-en-navegador. Nada que instalar en el portátil.
# 1. Snapshot the baseline (do this once, refresh when you upgrade Node)
curl -X POST "$API/api/v1/containers/$BASE/snapshots" \
-H "Authorization: Bearer $TOKEN" \
-d '[ "alias": "dev-baseline" ]'
# 2. Copy the snapshot into a fresh container for the new hire
curl -X POST "$API/api/v1/containers/$BASE/copy" \
-H "Authorization: Bearer $TOKEN" \
-d '[
"target_project_id": "$ACME",
"name": "alex-laptop",
"source_snapshot": "dev-baseline",
"copy_firewall_rules": true,
"copy_network_rules": true
]'
# 3. The response carries the container URL. Email it. That's onboarding.
# => https://alex-laptop.containers.hoody.comDos POSTs y una URL. La snapshot del baseline es el contrato; container copy es el constructor; el subdominio resultante es lo que aterriza en el correo de bienvenida. Sin bastión que aprovisionar, sin repo de dotfiles que clonar, sin licencia de Docker Desktop que negociar.
El README que solía acompañar a cada repo cargaba también con los modos de fallo. La mitad de las líneas eran parches para el portátil que el nuevo casualmente trajera. La URL es más corta porque el portátil ya no está en la foto — el entorno sí.
PARA: alex@acme.com · ASUNTO: BIENVENIDA
Bienvenido al equipo. Abre esto cuando estés listo para escribir código:
— infra@acme
El README que solía tener 47 pasos ahora es una línea: abre esta URL.
Cada uno intenta llevar un entorno funcional al portátil del nuevo desarrollador. Cada uno cuesta setup, licencia o pegamento DIY. Una URL de snapshot no cuesta nada de eso — el entorno ya está corriendo.
Deja de enviar pasos de setup en README. Envía una URL.