- Build metabuilder-cli C++ binary into DBAL frontend Docker image
via multi-stage build (conan-deps → cli-builder → nextjs → ubuntu runner)
- New /api/cli route executes the real C++ binary via child_process
- CLI mode runs actual metabuilder-cli commands (dbal, auth, user, tenant, package)
- Admin token forwarded via DBAL_ADMIN_TOKEN env var
- Ubuntu 24.04 runtime for glibc 2.38 compatibility with Conan builds
- Added standalone CLI Dockerfile at frontends/cli/Dockerfile
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Update all 12 Dockerfiles from node:18/20/22 to node:24-alpine
- Fix caproverforge portal: remove event handlers from Server Component
- Fix repoforge/caproverforge portals: ensure public/ dir exists in builder
- Fix packagerepo Dockerfile: node:18 → node:24 (Next.js 16 requires >=20)
- Fix DBAL frontend port conflict: 3009 → 3015 (3009 in use by external container)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
stack.py line 130 `run = run_cmd` shadowed the imported `run` helper from
cli.helpers, causing a recursive TypeError on `stack up`. Renamed import to
`run_shell` to avoid the collision. Moved storybook behind a profile since
its Docker build fails due to @storybook/addon-docs version mismatch.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The base-node-deps Docker build failed because .npmrc routes @esbuild-kit
packages to localhost:4873 (Verdaccio), which is unreachable inside BuildKit.
- Add Verdaccio service to docker-compose.stack.yml with patched tarballs
- Start Verdaccio in Gate 7 Tier 1 before base-node-deps build
- Configure buildx with network=host so BuildKit can reach localhost:4873
- Update verdaccio.yaml storage path for container volume mount
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>