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 target list --installed && \13 rustup show14RUN rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }}1516RUN mkdir /unique_parachain17WORKDIR /unique_parachain1819# ===== BUILD ======20FROM rust-builder as builder-unique2122WORKDIR /unique_parachain2324ARG PROFILE=release2526RUN git clone https://github.com/UniqueNetwork/unique-chain.git -b {{ BRANCH }} . && \27 cargo build --features={{ NETWORK }}-runtime --$PROFILE2829# ===== RUN ======3031FROM ubuntu:22.043233RUN apt-get -y update && \34 apt-get -y install curl git && \35 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \36 export NVM_DIR="$HOME/.nvm" && \37 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \38 nvm install v16.16.0 && \39 nvm use v16.16.04041RUN git clone https://github.com/uniquenetwork/polkadot-launch -b {{ POLKADOT_LAUNCH_BRANCH }}4243RUN export NVM_DIR="$HOME/.nvm" && \44 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \45 cd /polkadot-launch && \46 npm install --global yarn && \47 yarn install4849COPY --from=builder-unique /unique_parachain/target/release/unique-collator /unique-chain/target/release/50COPY --from=builder-unique /unique_parachain/launch-config.json /polkadot-launch/launch-config.json5152COPY --from=polkadot /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/5354EXPOSE 984455EXPOSE 994456EXPOSE 983357EXPOSE 4033358EXPOSE 303335960CMD export NVM_DIR="$HOME/.nvm" && \61 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \62 cd /polkadot-launch && \63 yarn start launch-config.json