
Sechzig Container auf einem Server
Eine Bare-Metal-Box führt Dutzende bis Hunderte von Hoody-Containern aus. KSM und BTRFS-Dedup machen die Marginalkosten nahezu null.
Snapshotte deine Developer-Baseline einmal. Von da an bekommt jeder neue Mitarbeiter eine URL. Sie klicken auf irgendeinem Laptop drauf und sind in einem frischen Container, einem Klon der Baseline — Codebase, Dependencies, Env-Variablen, geseedete Datenbank, VS Code im Browser. In fünf Minuten Code schreiben. Kein Setup.
Willkommen an Bord! Deine Dev-Umgebung ist bereit: https://devbox-jordan.hoody.dev. Postgres geseedet, Repo geklont, einfach cd ~/work && bun dev.
Hoody Snapshots erfassen einen ganzen Container — Files auf der Disk, User-Accounts, systemd-Unit-Files, geseedete Datenbank. Container Copy klont diesen Snapshot in einen frischen Container pro Entwickler. Der Link in der E-Mail ist die Route zu diesem frischen Container.
POST .../snapshotsErstelle einen benannten Snapshot deines Referenz-Containers — alias dev-baseline. Wiederhole, wenn sich die Baseline ändert.
POST .../copy [ source_snapshot ]Ein API-Call klont den Snapshot in einen frischen Container unter dem Projekt des neuen Entwicklers.
alex-laptop.containers.hoody.comDer Container kommt von Anfang an mit einer öffentlichen URL. Pack sie in Slack. Sie klicken. Sie sind drin.
ttyd · webview · sshhoody_kit aktiviert Terminal-, File-Browser- und VS-Code-im-Browser-Endpoints automatisch. Nichts auf dem Laptop zu installieren.
# 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.comZwei POSTs und eine URL. Der Baseline-Snapshot ist der Vertrag; Container Copy ist der Konstruktor; die resultierende Subdomain landet in der Welcome-Mail. Keine Bastion zu provisionieren, kein Dotfiles-Repo zu klonen, keine Docker-Desktop-Lizenz zu verhandeln.
Die README, die mit jedem Repo ausgeliefert wurde, hatte auch ihre Failure Modes dabei. Die Hälfte der Zeilen waren Workarounds für den Laptop, den der Neueinsteiger zufällig mitbrachte. Die URL ist kürzer, weil der Laptop nicht mehr im Bild ist — sondern die Umgebung.
AN: alex@acme.com · BETREFF: WILLKOMMEN
Willkommen im Team. Öffne das hier, wenn du bereit bist, Code zu schreiben:
— infra@acme
Die README, die früher 47 Schritte hatte, ist jetzt eine Zeile: öffne diese URL.
Jedes davon versucht, eine funktionierende Umgebung auf den Laptop eines neuen Entwicklers zu bringen. Sie kosten alle Setup, Lizenz oder DIY-Glue. Eine Snapshot-URL kostet nichts davon — die Umgebung läuft schon.
Hör auf, README-Setup-Schritte auszuliefern. Liefere eine URL.