| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- # Smartbotic Build Base Image
- # Contains all build dependencies pre-installed for fast builds
- #
- # Build:
- # docker buildx build -f packaging/Dockerfile.base -t smartbotic-build-base:debian13 .
- FROM debian:trixie
- ENV DEBIAN_FRONTEND=noninteractive
- # Install all build dependencies
- RUN apt-get update && apt-get install -y --no-install-recommends \
- # Build tools
- build-essential \
- cmake \
- ninja-build \
- git \
- pkg-config \
- ca-certificates \
- # Compiler cache for faster rebuilds
- ccache \
- # Networking
- libcurl4-openssl-dev \
- libssl-dev \
- # JSON & Logging
- nlohmann-json3-dev \
- libspdlog-dev \
- # Systemd (for sd_notify)
- libsystemd-dev \
- # gRPC/Protobuf
- protobuf-compiler \
- libprotobuf-dev \
- libgrpc++-dev \
- protobuf-compiler-grpc \
- # Compression for database storage
- liblz4-dev \
- # WebUI build
- nodejs \
- npm \
- && rm -rf /var/lib/apt/lists/*
- # Pre-install latest npm
- RUN npm install -g npm@latest
- # Configure ccache
- ENV CCACHE_DIR=/ccache
- ENV CCACHE_MAXSIZE=5G
- ENV CCACHE_COMPRESS=1
- ENV CCACHE_COMPRESSLEVEL=6
- WORKDIR /build
- # Add a marker file to identify base image version
- RUN echo "smartbotic-build-base:debian13:v1" > /etc/smartbotic-build-base
|