mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-25 14:25:02 +00:00
- 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>
32 lines
953 B
Docker
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"]
|