
一台服务器上运行 60 个容器
一个裸金属服务器运行数十到数百个 Hoody 容器。KSM 和 BTRFS 去重使边际成本接近零。
把开发者基线快照一次。从此以后,每个新员工都拿到一条 URL。他们在任何手头的笔记本上点开它,就进入了一个克隆自基线的全新容器——代码库、依赖、环境变量、种子数据库、浏览器中的 VSCode。五分钟内开始写代码。不是配置环境。
欢迎登船!你的开发环境已准备好: https://devbox-jordan.hoody.dev. Postgres 已初始化,仓库已克隆,只需 cd ~/work && bun dev.
Hoody 快照捕获整个容器——磁盘上的文件、用户账户、systemd unit 文件、种子数据库。容器复制把那个快照克隆到每位开发者一个新鲜容器中。邮件里的链接就是通往那个新鲜容器的路由。
POST .../snapshots对你的参考容器拍一个命名快照——别名 dev-baseline。基线变更时再跑一次。
POST .../copy [ source_snapshot ]一次 API 调用就把快照克隆到新开发者项目下的一个新鲜容器。
alex-laptop.containers.hoody.com容器开箱就带一个公共 URL。粘到 Slack 里。他们点击。他们就进去了。
ttyd · webview · sshhoody_kit 自动点亮终端、文件浏览器和浏览器内 VSCode 端点。笔记本上无需安装任何东西。
# 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.com两次 POST 加一个 URL。基线快照是契约;容器复制是构造器;最终的子域名就是落到欢迎邮件里的内容。无需配置堡垒机、无需克隆 dotfiles 仓库、无需谈判 Docker Desktop 许可证。
以前每个仓库都附带的 README 也带着它的失败模式。一半的行是为新员工碰巧带的那台笔记本做的变通。URL 之所以更短,是因为笔记本不再出现在画面里——环境才是。
TO: alex@acme.com · SUBJECT: WELCOME
欢迎加入团队。准备写代码时打开这个:
— infra@acme
以前 47 步的 README 现在是一行:打开这个 URL。
下面每一项都试图把一个可工作的环境送到新开发者的笔记本上。它们都要么有配置成本、要么有许可证成本、要么有 DIY 黏合代码成本。一个快照 URL 不需要其中任何一个——环境已经在跑。
停止发 README 配置步骤。发一条 URL。