1# ===== Rust builder =====2FROM uniquenetwork/services:latest as rust-builder3ARG RUST_TOOLCHAIN=45ENV RUST_TOOLCHAIN $RUST_TOOLCHAIN6ENV CARGO_HOME="/cargo-home"7ENV PATH="/cargo-home/bin:$PATH"8ENV TZ=UTC910RUN rustup toolchain uninstall $(rustup toolchain list) && \11 rustup toolchain install {{ RUST_TOOLCHAIN }} && \12 rustup default {{ RUST_TOOLCHAIN }} && \13 rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \14 rustup target list --installed && \15 rustup show16RUN rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }}1718RUN mkdir /unique_parachain19WORKDIR /unique_parachain2021# ===== BUILD ======22FROM rust-builder as builder-unique2324ARG PROFILE=release2526WORKDIR /unique_parachain2728RUN git clone -b {{ BRANCH }} https://github.com/UniqueNetwork/unique-chain.git && \29 cd unique-chain && \30 cargo build --features={{ NETWORK }}-runtime --$PROFILE3132# ===== RUN ======3334FROM ubuntu:22.043536RUN apt-get -y update && \37 apt-get -y install curl git && \38 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \39 export NVM_DIR="$HOME/.nvm" && \40 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \41 nvm install v16.16.0 && \42 nvm use v16.16.04344RUN git clone https://github.com/uniquenetwork/polkadot-launch -b {{ POLKADOT_LAUNCH_BRANCH }}4546RUN export NVM_DIR="$HOME/.nvm" && \47 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \48 cd /polkadot-launch && \49 npm install --global yarn && \50 yarn install5152COPY --from=builder-unique /unique_parachain/unique-chain/.docker/testnet-config/launch-config.json /polkadot-launch/launch-config.json53COPY --from=builder-unique /unique_parachain/unique-chain/target/release/unique-collator /unique-chain/target/release/5455COPY --from=uniquenetwork/builder-polkadot:{{ POLKADOT_BUILD_BRANCH }} /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/5657EXPOSE 984458EXPOSE 994459EXPOSE 983360EXPOSE 4033361EXPOSE 303336263CMD export NVM_DIR="$HOME/.nvm" && \64 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \65 cd /polkadot-launch && \66 yarn start launch-config.json