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 target list --installed && \14 rustup show15RUN rustup target add wasm32-unknown-unknown --toolchain $RUST_TOOLCHAIN1617RUN mkdir /unique_parachain18WORKDIR /unique_parachain1920# ===== BUILD ======21FROM rust-builder as builder-unique2223ARG PROFILE=release24ARG NETWORK25ARG BRANCH2627WORKDIR /unique_parachain2829RUN git clone -b $BRANCH https://github.com/UniqueNetwork/unique-chain.git && \30 cd unique-chain && \31 cargo build --features=$NETWORK-runtime --$PROFILE3233# ===== RUN ======3435FROM ubuntu:20.0436ARG POLKADOT_LAUNCH_BRANCH3738RUN apt-get -y update && \39 apt-get -y install curl git && \40 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \41 export NVM_DIR="$HOME/.nvm" && \42 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \43 nvm install v16.16.0 && \44 nvm use v16.16.04546RUN git clone https://github.com/uniquenetwork/polkadot-launch -b $POLKADOT_LAUNCH_BRANCH4748RUN export NVM_DIR="$HOME/.nvm" && \49 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \50 cd /polkadot-launch && \51 npm install --global yarn && \52 yarn install5354COPY --from=builder-unique /unique_parachain/unique-chain/.docker/testnet-config/launch-config.json /polkadot-launch/launch-config.json55COPY --from=builder-unique /unique_parachain/unique-chain/target/release/unique-collator /unique-chain/target/release/5657COPY --from=uniquenetwork/builder-polkadot:$POLKADOT_BUILD_BRANCH /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/5859EXPOSE 984460EXPOSE 994461EXPOSE 993362EXPOSE 983363EXPOSE 4033364EXPOSE 303336566CMD export NVM_DIR="$HOME/.nvm" && \67 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \68 cd /polkadot-launch && \69 yarn start launch-config.json