1# ===== Rust builder =====2FROM ubuntu:22.04 as rust-builder3LABEL maintainer="Unique.Network"45ARG RUST_TOOLCHAIN6ENV CARGO_HOME="/cargo-home"7ENV PATH="/cargo-home/bin:$PATH"8ENV TZ=UTC9RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone1011RUN apt-get update && \12 apt-get install -y curl cmake pkg-config libssl-dev git clang llvm libudev-dev protobuf-compiler && \13 apt-get clean && \14 rm -r /var/lib/apt/lists/*1516RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain none1718RUN rustup toolchain install "${RUST_TOOLCHAIN}" && \19 rustup target add wasm32-unknown-unknown --toolchain "${RUST_TOOLCHAIN}" && \20 rustup default "${RUST_TOOLCHAIN}" && \21 rustup component add --toolchain "${RUST_TOOLCHAIN}" rust-src && \22 rustup target list --installed && \23 rustup show2425RUN mkdir /unique_parachain26WORKDIR /unique_parachain2728# ===== BUILD BIN =====29FROM rust-builder as builder-hydradx-bin3031ARG HYDRADX_BUILD_BRANCH3233WORKDIR /unique_parachain3435RUN git clone --depth 1 -b "${HYDRADX_BUILD_BRANCH}" https://github.com/galacticcouncil/HydraDX-node.git3637RUN --mount=type=cache,target=/cargo-home/registry \38 --mount=type=cache,target=/cargo-home/git \39 --mount=type=cache,target=/unique_parachain/parachain/target \40 cd HydraDX-node && \41 CARGO_INCREMENTAL=0 cargo build --release --locked && \42 mkdir /unique_parachain/Hydradx && \43 mv ./target/release/hydradx /unique_parachain/Hydradx/hydradx4445# ===== BIN ======4647FROM ubuntu:22.04 as builder-hydradx4849COPY --from=builder-hydradx-bin /unique_parachain/Hydradx/hydradx /bin/hydradx50ENTRYPOINT ["/bin/hydradx"]