コンテンツにスキップ
タイプ標準
ステージ本番環境
難易度中程度
ジョブ開発者をオンボード
対象開発チーム
対象エンタープライズ IT
対象エージェンシー
サービススナップショット
サービスコンテナ
サービスターミナル
サービスファイル
Hoody の利点スナップショット時間旅行
Hoody の利点コンテナ経済学
タイプ標準
ステージ本番環境
難易度中程度
ジョブ開発者をオンボード
対象開発チーム
対象エンタープライズ IT
対象エージェンシー
サービススナップショット
サービスコンテナ
サービスターミナル
サービスファイル
Hoody の利点スナップショット時間旅行
Hoody の利点コンテナ経済学
タイプ標準
ステージ本番環境
難易度中程度
ジョブ開発者をオンボード
対象開発チーム
対象エンタープライズ IT
対象エージェンシー
サービススナップショット
サービスコンテナ
サービスターミナル
サービスファイル
Hoody の利点スナップショット時間旅行
Hoody の利点コンテナ経済学
タイプ標準
ステージ本番環境
難易度中程度
ジョブ開発者をオンボード
対象開発チーム
対象エンタープライズ IT
対象エージェンシー
サービススナップショット
サービスコンテナ
サービスターミナル
サービスファイル
Hoody の利点スナップショット時間旅行
Hoody の利点コンテナ経済学
スナップショット · コンテナ コピー

1 つのリンクで開発者をオンボード

開発者ベースラインを 1 度スナップショットします。それ以降、新規入社者は全員 1 つの URL を取得します。手元のどんなノートパソコンでもクリックすれば、ベースラインのクローンである新しいコンテナの中にいます — コードベース、依存関係、環境変数、シードされたデータベース、ブラウザ内の VSCode。5 分でコードを書いています。セットアップではありません。

URL がどうやって動作するノートパソコンになるのか

Hoody スナップショットはコンテナ全体をキャプチャします — ディスク上のファイル、ユーザーアカウント、systemd ユニットファイル、シードされたデータベース。コンテナコピーがそのスナップショットを開発者ごとに新しいコンテナにクローンします。メールのリンクがその新しいコンテナへのルートです。

POST /api/v1/containers/[baseline_id]/copy4 ステップ · 1 回の API コール
01

ベースラインを 1 度スナップショット

POST .../snapshots

リファレンスコンテナの名前付きスナップショットを取得 — エイリアスを dev-baseline にします。ベースラインが変わったら再実行します。

02

新規入社者ごとにコピー

POST .../copy [ source_snapshot ]

1 回の API コールでスナップショットを新しい開発者のプロジェクト下の新しいコンテナにクローンします。

03

彼らの URL がコンテナ

alex-laptop.containers.hoody.com

コンテナは最初から公開 URL を持って出荷されます。Slack に貼り付けます。彼らはクリックします。中にいます。

04

ターミナル、ファイル、ブラウザ

ttyd · webview · ssh

hoody_kit がターミナル、ファイルブラウザ、ブラウザ内 VSCode のエンドポイントを自動的に起動します。ノートパソコンにインストールするものは何もありません。

onboard-alex.sh
# 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

2 つの POST と 1 つの URL。ベースラインスナップショットが契約、コンテナコピーがコンストラクター、結果のサブドメインがウェルカムメールに届くものです。プロビジョニングするバスティオンも、クローンする dotfiles リポジトリも、交渉する Docker Desktop ライセンスもありません。

ステップの壁から 1 つの文へ

すべてのリポジトリにかつて同梱されていた README には失敗モードも含まれていました。半分の行は、新規入社者がたまたま持ってきたノートパソコンへの回避策でした。ノートパソコンが画面から消え — 環境がそこにあるため、URL は短くなります。

README.md · setup47 ステップ
  • 01Xcode CLI ツールをインストール
  • 02Homebrew をインストール
  • 03brew install node@20 pnpm postgres@15
  • 04.zshrc に PATH 行を追加
  • 05createdb acme_dev
  • 06seed-data リポジトリをクローン
  • 07ローダーを実行 (25 分かかる)
  • 08#devops でステージングの .env を聞く
  • ...間違える 39 行がさらに
初回コミットまでの平均時間2 日
こうなる
ウェルカムメール · v21 行

TO: alex@acme.com · SUBJECT: WELCOME

チームへようこそ。コードを書く準備ができたらこれを開いてください:

https://alex-laptop.containers.hoody.com

── infra@acme

初回コミットまでの時間5 分
初日 · アレックスの月曜

かつて 47 ステップだった README が、今や 1 行になりました: この URL を開いてください。

08:59 — ノートパソコンを開き、リンクをクリップボードに09:04 — 初回コミット完了
時計が示す初回コミット5 分 · インストール 0
0108:59URL が受信箱に届くノートパソコンのセットアップなし
0209:00URL を開く — もう中にいるコンテナがワークスペース
0309:04初回コミット完了設定ではなく、コードを書く
ファイルコードベースは既にクローン済み、ブランチは main
依存関係Node、pnpm、Postgres、Redis 事前インストール済み
データシードデータベース読み込み済み、ステージング .env 注入済み

これが置き換えるもの

これらのそれぞれが新しい開発者のノートパソコンに動作する環境を届けようとしています。それぞれセットアップ、ライセンス、または DIY の接着剤がかかります。スナップショット URL はそのどれもかかりません — 環境はすでに動いています。

  • GitHub Codespacesシート単位の課金、メンテする devcontainer.json
  • Gitpodワークスペース単位の価格、デバッグする .gitpod.yml
  • Daytona実行するセルフホストコントロールプレーン
  • Coder世話するテンプレートとプロビジョナーインフラ
  • Devcontainer セットアップノートパソコンごとの Docker Desktop ライセンス + VSCode のダンス
  • ローカル開発2 日間の brew、パス、#devops での .env 依頼
  • オンボーディングドキュメント誰かがベースラインを更新した瞬間にずれる 47 ステップ

README のセットアップ手順を出荷するのをやめてください。URL を出荷してください。

コンテナコピーガイドを読む

他のユースケースを読む