1FROM uniquenetwork/builder-polkadot:{{ POLKADOT_BUILD_BRANCH }} as polkadot23# ===== Rust builder =====4FROM uniquenetwork/services:latest as rust-builder56ENV CARGO_HOME="/cargo-home"7ENV PATH="/cargo-home/bin:$PATH"8ENV TZ=UTC9RUN rustup toolchain uninstall $(rustup toolchain list) && \10 rustup toolchain install {{ RUST_TOOLCHAIN }} && \11 rustup default {{ RUST_TOOLCHAIN }} && \12 rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \13 rustup target list --installed && \14 rustup show15RUN rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }}1617RUN mkdir /unique_parachain18WORKDIR /unique_parachain1920# ===== BUILD ======21FROM rust-builder as builder-unique2223WORKDIR /unique_parachain2425ARG PROFILE=release2627RUN git clone https://github.com/UniqueNetwork/unique-chain.git -b {{ BRANCH }} . && \28 cargo build --features={{ NETWORK }}-runtime --$PROFILE2930# ===== RUN ======3132FROM ubuntu:22.043334RUN apt-get -y update && \35 apt-get -y install curl git && \36 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \37 export NVM_DIR="$HOME/.nvm" && \38 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \39 nvm install v16.16.0 && \40 nvm use v16.16.04142RUN git clone https://github.com/uniquenetwork/polkadot-launch -b {{ POLKADOT_LAUNCH_BRANCH }}4344RUN export NVM_DIR="$HOME/.nvm" && \45 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \46 cd /polkadot-launch && \47 npm install --global yarn && \48 yarn install4950COPY --from=builder-unique /unique_parachain/target/release/unique-collator /unique-chain/target/release/51COPY --from=builder-unique /unique_parachain/launch-config.json /polkadot-launch/launch-config.json5253COPY --from=polkadot /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/5455EXPOSE 984456EXPOSE 994457EXPOSE 983358EXPOSE 4033359EXPOSE 303336061CMD export NVM_DIR="$HOME/.nvm" && \62 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \63 cd /polkadot-launch && \64 yarn start launch-config.json