at main 1.4 kB view raw
1# Use the official Debian stable slim image 2FROM debian:stable-slim AS base 3 4# prevent interactive prompts during package installation 5ARG DEBIAN_FRONTEND=noninteractive 6 7# Install dependencies 8RUN apt-get update && apt-get install -y --no-install-recommends \ 9 libboost-dev \ 10 libboost-chrono-dev \ 11 libboost-date-time-dev \ 12 libboost-filesystem-dev \ 13 libboost-program-options-dev \ 14 libboost-system-dev \ 15 libboost-thread-dev \ 16 libssl-dev \ 17 zlib1g-dev 18 19FROM base AS builder 20 21# Install build dependencies 22RUN apt-get install -y --no-install-recommends \ 23 make \ 24 gcc g++ 25 26# Copy sources into the layer 27COPY . /opt/i2pd-tools 28WORKDIR /opt/i2pd-tools 29 30# Build all the tools 31RUN make -j"$(nproc)" 32 33FROM base 34 35# Copy binaries to base layer 36COPY --from=builder \ 37 /opt/i2pd-tools/autoconf \ 38 /opt/i2pd-tools/keygen \ 39 /opt/i2pd-tools/keyinfo \ 40 /opt/i2pd-tools/famtool \ 41 /opt/i2pd-tools/i2pbase64 \ 42 /opt/i2pd-tools/regaddr \ 43 /opt/i2pd-tools/regaddralias \ 44 /opt/i2pd-tools/routerinfo \ 45 /opt/i2pd-tools/vain \ 46 /opt/i2pd-tools/b33address \ 47 /opt/i2pd-tools/offlinekeys \ 48 /opt/i2pd-tools/regaddr_3ld \ 49 /opt/i2pd-tools/verifyhost \ 50 /opt/i2pd-tools/x25519 \ 51 /usr/local/bin/ 52 53WORKDIR /data 54 55# Drop into a shell by default so you can run any tool interactively 56CMD ["bash"] 57