
Soixante conteneurs sur un seul serveur
Une machine bare-metal exécute des dizaines à des centaines de conteneurs Hoody. La dédupplication KSM et BTRFS rend le coût marginal quasi nul.
Snapshotez votre baseline développeur une fois. À partir de là, chaque nouvel embauché reçoit une URL. Il clique dessus sur le laptop qu'il a et il se retrouve dans un conteneur frais qui est un clone de la baseline — base de code, dépendances, variables d'env, base de données amorcée, VSCode dans le navigateur. Écrire du code en cinq minutes. Pas de configuration.
Bienvenue à bord ! Votre environnement de dev est prêt : https://devbox-jordan.hoody.dev. Postgres seedé, repo cloné, il suffit de cd ~/work && bun dev.
Les snapshots Hoody capturent un conteneur entier — fichiers sur disque, comptes utilisateurs, fichiers d'unité systemd, base de données amorcée. La copie de conteneur clone ce snapshot dans un conteneur frais par développeur. Le lien dans l'email est la route vers ce conteneur frais.
POST .../snapshotsPrenez un snapshot nommé de votre conteneur de référence — alias-le dev-baseline. Ré-exécutez quand la baseline change.
POST .../copy [ source_snapshot ]Un appel d'API clone le snapshot dans un conteneur frais sous le projet du nouveau développeur.
alex-laptop.containers.hoody.comLe conteneur est livré avec une URL publique d'emblée. Collez-la dans Slack. Il clique. Il est dedans.
ttyd · webview · sshhoody_kit allume automatiquement les endpoints du terminal, du navigateur de fichiers, et VSCode-dans-le-navigateur. Rien à installer sur le laptop.
# 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.comDeux POST et une URL. Le snapshot de baseline est le contrat ; la copie de conteneur est le constructeur ; le sous-domaine résultant est ce qui atterrit dans l'email de bienvenue. Pas de bastion à provisionner, pas de repo de dotfiles à cloner, pas de licence Docker Desktop à négocier.
Le README qui était livré avec chaque repo emportait aussi les modes de défaillance. La moitié des lignes étaient des contournements pour le laptop que le nouvel embauché avait apporté. L'URL est plus courte parce que le laptop n'est plus dans le tableau — l'environnement, oui.
POUR : alex@acme.com · OBJET : BIENVENUE
Bienvenue dans l'équipe. Ouvre ceci quand tu es prêt à écrire du code :
— infra@acme
Le README qui faisait 47 étapes est désormais une ligne : ouvre cette URL.
Chacun de ces outils essaie d'amener un environnement fonctionnel sur le laptop d'un nouveau développeur. Chacun coûte du setup, de la licence, ou du glue DIY. Une URL de snapshot ne coûte rien de tout cela — l'environnement tourne déjà.
Arrêtez d'expédier des étapes de setup README. Expédiez une URL.