1# ===== Rust builder =====2FROM ubuntu:22.04 as rust-builder3LABEL maintainer="Unique.Network"45ENV CARGO_HOME="/cargo-home"6ENV PATH="/cargo-home/bin:$PATH"7ENV TZ=UTC8RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone910RUN apt-get update && \11 apt-get install -y curl cmake pkg-config libssl-dev git clang llvm libudev-dev protobuf-compiler && \12 apt-get clean && \13 rm -r /var/lib/apt/lists/*1415RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain none1617RUN rustup toolchain install {{ RUST_TOOLCHAIN }} && \18 rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }} && \19 rustup default {{ RUST_TOOLCHAIN }} && \20 rustup target list --installed && \21 rustup show2223RUN mkdir /unique_parachain24WORKDIR /unique_parachain252627# ===== BUILD MOONBEAM =====28FROM rust-builder as builder-moonbeam-bin2930WORKDIR /unique_parachain3132RUN git clone -b {{ MOONBEAM_BUILD_BRANCH }} --depth 1 https://github.com/PureStake/moonbeam.git3334RUN --mount=type=cache,target=/cargo-home/registry \35 --mount=type=cache,target=/cargo-home/git \36 --mount=type=cache,target=/unique_parachain/moonbeam/target \37 cd moonbeam && \38 CARGO_INCREMENTAL=0 cargo build --release --locked && \39 mv ./target/release/moonbeam /unique_parachain/moonbeam/4041# ===== BIN ======4243FROM ubuntu:22.04 as builder-moonbeam4445COPY --from=builder-moonbeam-bin /unique_parachain/moonbeam/moonbeam /bin/moonbeam46ENTRYPOINT ["/bin/moonbeam"]