ARG RUST_TOOLCHAIN=1.89.0 FROM docker.io/rust:$RUST_TOOLCHAIN-trixie AS builder ARG PROFILE ARG VERSION # Switch to snapshot repository to pin dependencies RUN sed -i '/^# http/{N;s|^# \(http[^ ]*\)\nURIs: .*|# \1\nURIs: \1|}' /etc/apt/sources.list.d/debian.sources RUN apt-get -o Acquire::Check-Valid-Until=false update && \ apt-get install -y \ libjemalloc-dev \ libclang-dev \ mold WORKDIR /app COPY . . RUN RUSTFLAGS_REPRODUCIBLE_EXTRA="-Clink-arg=-fuse-ld=mold" make build-reth-reproducible && \ PROFILE=${PROFILE:-reproducible} VERSION=$VERSION make build-deb-x86_64-unknown-linux-gnu FROM scratch AS artifacts COPY --from=builder /app/target/x86_64-unknown-linux-gnu/reproducible/reth /reth COPY --from=builder /app/target/x86_64-unknown-linux-gnu/reproducible/*.deb / FROM gcr.io/distroless/cc-debian13:nonroot-239cdd2c8a6b275b6a6f6ed1428c57de2fff3e50 COPY --from=artifacts /reth /reth EXPOSE 30303 30303/udp 9001 8545 8546 ENTRYPOINT [ "/reth" ]