Dockerfile.base 1.3 KB

123456789101112131415161718192021222324252627
  1. FROM debian:13-slim
  2. ARG REPO_USER
  3. ARG REPO_PASS
  4. ENV DEBIAN_FRONTEND=noninteractive
  5. RUN apt-get update && apt-get install -y --no-install-recommends \
  6. ca-certificates curl gnupg cmake ninja-build g++ pkg-config \
  7. nlohmann-json3-dev libspdlog-dev libssl-dev libsystemd-dev git \
  8. && rm -rf /var/lib/apt/lists/*
  9. # Node 22 for the web UI build (vite 7 needs node >=20.19/22).
  10. RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \
  11. && apt-get install -y --no-install-recommends nodejs \
  12. && rm -rf /var/lib/apt/lists/*
  13. # Smartbotics apt repo — provides libsmartbotic-db-client-dev (2.3.x).
  14. RUN curl -fsSL https://repository.smartbotics.ai/smartbotics-repo.gpg \
  15. | gpg --dearmor -o /usr/share/keyrings/smartbotics-repo.gpg \
  16. && printf 'machine repository.smartbotics.ai\nlogin %s\npassword %s\n' "$REPO_USER" "$REPO_PASS" \
  17. > /etc/apt/auth.conf.d/smartbotics.conf \
  18. && chmod 600 /etc/apt/auth.conf.d/smartbotics.conf \
  19. && echo "deb [signed-by=/usr/share/keyrings/smartbotics-repo.gpg] https://repository.smartbotics.ai trixie main" \
  20. > /etc/apt/sources.list.d/smartbotics.list \
  21. && apt-get update \
  22. && apt-get install -y --no-install-recommends libsmartbotic-db-client-dev \
  23. && rm -rf /var/lib/apt/lists/*