Skip to content

feat(devops): OS-aware container-engine bootstrap (no Docker Desktop)#8

Merged
hjonck merged 2 commits into
mainfrom
feat/container-engine-baseline
Jun 23, 2026
Merged

feat(devops): OS-aware container-engine bootstrap (no Docker Desktop)#8
hjonck merged 2 commits into
mainfrom
feat/container-engine-baseline

Conversation

@hjonck

@hjonck hjonck commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

What

These crates use only the plain docker CLI, so any Docker-API-compatible engine runs them — Docker Desktop is not required. This adds a one-command, idempotent, OS-aware bootstrap so a fresh machine reaches docker info green before the Quick start, plus a container-build skill and a README section.

Why

The Quick start assumes a working docker but never says which engine. The biggest friction for self-hosting these crates is engine setup — and Docker Desktop is licensed/fragile. This closes that gap with a free, headless baseline (Colima on macOS/Linux, Podman on Windows).

Changes

  • scripts/devops/bootstrap-container-engine.sh — detects OS; macOS/Linux → Colima, Windows → Podman; installs + starts the engine; removes Docker Desktop's credsStore (the leftover desktop helper breaks headless image pulls); verifies docker info + buildx + compose. Idempotent; starts Colima through brew services so the same step enrols autostart, with a documented fallback for an already-running manual Colima.
  • .claude/skills/container-build/SKILL.md — engine setup, build/smoke a crate, and headless gotchas (credsStore tell, linux/amd64 under QEMU on Apple Silicon, autostart/launchd).
  • README.md — "Container engine (no Docker Desktop needed)" section ahead of Quick start.

Validation

  • ShellCheck-clean; repo guard.sh passes (no binaries, no oversized files).
  • Run end-to-end on Colima (macOS, Apple Silicon): idempotent re-run, docker info green (29.5.2), hello-world container runs, buildx + compose detected.
  • Windows/Podman branch is best-effort + documented (cannot be exercised from a non-Windows host) — flagged in the skill to validate a crate smoke test on Podman before relying on it.

🤖 Generated with Claude Code

These crates use only the plain `docker` CLI, so any Docker-API-compatible
engine runs them — Docker Desktop is not required. Add a one-command,
idempotent, OS-aware bootstrap plus a container-build skill and a README
"Container engine" section so a fresh machine can reach `docker info` green
before the Quick start.

- scripts/devops/bootstrap-container-engine.sh — detects OS; macOS/Linux ->
  Colima, Windows -> Podman; installs + starts the engine; strips Docker
  Desktop's credsStore (which breaks headless pulls); verifies docker info +
  buildx + compose. Idempotent; ShellCheck-clean; passes guard.sh.
- .claude/skills/container-build/SKILL.md — engine setup + build/smoke a crate
  + headless gotchas (credsStore, linux/amd64 on Apple Silicon, autostart).
- README.md — "Container engine (no Docker Desktop needed)" section.

Validated end-to-end on Colima (macOS, Apple Silicon): idempotent re-run,
docker info green, hello-world container runs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@hjonck hjonck merged commit adbcecf into main Jun 23, 2026
1 check passed
@hjonck hjonck deleted the feat/container-engine-baseline branch June 23, 2026 00:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant