# Use the official Debian stable slim image FROM debian:stable-slim AS base # prevent interactive prompts during package installation ARG DEBIAN_FRONTEND=noninteractive # Install dependencies RUN apt-get update && apt-get install -y --no-install-recommends \ libboost-dev \ libboost-chrono-dev \ libboost-date-time-dev \ libboost-filesystem-dev \ libboost-program-options-dev \ libboost-system-dev \ libboost-thread-dev \ libssl-dev \ zlib1g-dev FROM base AS builder # Install build dependencies RUN apt-get install -y --no-install-recommends \ make \ gcc g++ # Copy sources into the layer COPY . /opt/i2pd-tools WORKDIR /opt/i2pd-tools # Build all the tools RUN make -j"$(nproc)" FROM base # Copy binaries to base layer COPY --from=builder \ /opt/i2pd-tools/autoconf \ /opt/i2pd-tools/keygen \ /opt/i2pd-tools/keyinfo \ /opt/i2pd-tools/famtool \ /opt/i2pd-tools/i2pbase64 \ /opt/i2pd-tools/regaddr \ /opt/i2pd-tools/regaddralias \ /opt/i2pd-tools/routerinfo \ /opt/i2pd-tools/vain \ /opt/i2pd-tools/b33address \ /opt/i2pd-tools/offlinekeys \ /opt/i2pd-tools/regaddr_3ld \ /opt/i2pd-tools/verifyhost \ /opt/i2pd-tools/x25519 \ /usr/local/bin/ WORKDIR /data # Drop into a shell by default so you can run any tool interactively CMD ["bash"]