FROM ubuntu:24.04 AS builder RUN apt-get update && apt-get install -y --no-install-recommends \ cmake make g++ && \ rm -rf /var/lib/apt/lists/* WORKDIR /src COPY . . RUN rm -rf build && cmake -S . -B build -DCMAKE_BUILD_TYPE=Release && \ cmake --build build --parallel FROM ubuntu:24.04 RUN apt-get update && apt-get install -y --no-install-recommends \ libstdc++6 && \ rm -rf /var/lib/apt/lists/* && \ mkdir -p /var/lib/inventory COPY --from=builder /src/build/inventory-server /usr/local/bin/ EXPOSE 9876 VOLUME ["/var/lib/inventory"] # DNS updater hook env vars (set at runtime – do not bake secrets into the image): # TECHNITIUM_HOST (default: 192.168.2.193) # TECHNITIUM_PORT (default: 5380) # TECHNITIUM_USER (default: admin) # TECHNITIUM_PASS (required for DNS updates) # TECHNITIUM_ZONE (default: homelab) # DNS_TTL (default: 300) CMD ["inventory-server", "--port", "9876", "--db", "/var/lib/inventory/data.db"]