Files
metabuilder/frontends/cli/Dockerfile
johndoe6345789 23d495dec9 feat(dbal): run real C++ CLI binary from Query Console
- 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>
2026-03-18 23:20:28 +00:00

32 lines
953 B
Docker

# Build the metabuilder-cli C++ binary
# Context: monorepo root (..)
# Requires: metabuilder/base-conan-deps:latest base image
ARG BASE_REGISTRY=metabuilder
FROM ${BASE_REGISTRY}/base-conan-deps:latest AS builder
# Copy CLI source
COPY frontends/cli/ /app/cli/
# Install Conan deps and build
WORKDIR /app/cli
RUN conan install . \
--output-folder=build \
--build=missing \
-s build_type=Release \
-c tools.system.package_manager:mode=install \
&& cmake -S . -B build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_TOOLCHAIN_FILE=build/conan_toolchain.cmake \
&& cmake --build build --config Release
# Minimal runtime image
FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y --no-install-recommends \
libssl3 ca-certificates \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /app/cli/build/metabuilder-cli /usr/local/bin/metabuilder-cli
ENTRYPOINT ["metabuilder-cli"]