mirror of
https://github.com/paradigmxyz/reth.git
synced 2026-01-06 22:14:03 -05:00
26 lines
988 B
Docker
26 lines
988 B
Docker
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" ]
|