| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- # smartbotic-automation Build Base Image
- # Pre-installed Debian 13 build dependencies for fast iterative builds.
- #
- # Build:
- # docker buildx build -f packaging/Dockerfile.base \
- # --build-arg REPO_PASS=<password> \
- # -t smartbotic-automation-build-base:debian13 .
- FROM debian:trixie
- ENV DEBIAN_FRONTEND=noninteractive
- RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates \
- && rm -rf /var/lib/apt/lists/*
- # SmartBotics APT repository (for libsmartbotic-db-client-dev)
- ARG REPO_USER=callerai
- ARG REPO_PASS
- COPY packaging/smartbotics-repo.gpg /usr/share/keyrings/smartbotics-repo.gpg
- RUN echo "deb [signed-by=/usr/share/keyrings/smartbotics-repo.gpg] https://repository.smartbotics.ai trixie main" \
- > /etc/apt/sources.list.d/smartbotics.list \
- && printf "machine repository.smartbotics.ai\nlogin %s\npassword %s\n" \
- "$REPO_USER" "$REPO_PASS" > /etc/apt/auth.conf.d/smartbotics.conf \
- && chmod 600 /etc/apt/auth.conf.d/smartbotics.conf \
- && apt-get update \
- && apt-get install -y --no-install-recommends libsmartbotic-db-client-dev \
- && rm -rf /var/lib/apt/lists/* \
- && rm -f /etc/apt/auth.conf.d/smartbotics.conf \
- && rm -f /etc/apt/sources.list.d/smartbotics.list
- RUN apt-get update && apt-get install -y --no-install-recommends \
- # Build tools
- build-essential cmake ninja-build git pkg-config ccache dpkg-dev \
- # Compression / crypto / uuid
- libssl-dev zlib1g-dev libbrotli-dev uuid-dev \
- # gRPC + protobuf
- protobuf-compiler libprotobuf-dev libgrpc++-dev protobuf-compiler-grpc \
- # JSON + logging + fmt
- nlohmann-json3-dev libspdlog-dev libfmt-dev \
- # curl / websockets
- libcurl4-openssl-dev libwebsockets-dev \
- # WebUI build (Node.js + npm)
- nodejs npm \
- && rm -rf /var/lib/apt/lists/* \
- && echo "smartbotic-automation:debian13:$(date -u +%Y-%m-%dT%H:%M:%SZ)" > /etc/smartbotic-automation-build-base
|