1# ===== BUILD ======2FROM phusion/baseimage:focal-1.0.0 as builder3LABEL maintainer="Unique.Network"4567ARG RUST_TOOLCHAIN=nightly-2021-06-288#ARG RUST_C=1.55.0-nightly9ARG POLKA_VERSION=v0.9.1010ARG NFT_BRANCH=develop1112#ARG USER=***13#ARG PASS=***141516ENV RUST_TOOLCHAIN $RUST_TOOLCHAIN17#ENV RUST_C $RUST_C18ENV POLKA_VERSION $POLKA_VERSION19ENV NFT_BRANCH $NFT_BRANCH202122#RUN echo $RUST_TOOLCHAIN23#RUN echo $RUST_C24#RUN echo $POLKA_VERSION25#RUN echo $NFT_BRANCH26272829ARG PROFILE=release3031RUN apt-get update && \32 apt-get dist-upgrade -y -o Dpkg::Options::="--force-confold" && \33 apt-get install -y cmake pkg-config libssl-dev git clang3435# Get project and run it3637#RUN git clone -b $NFT_BRANCH https://$USER:$PASS@github.com/UniqueNetwork/unique-chain.git /nft_parachain383940RUN mkdir nft_parachain41WORKDIR /nft_parachain42COPY . .434445RUN export CARGO_HOME="/cargo-home" && curl https://sh.rustup.rs -sSf | sh -s -- -y46RUN export PATH="/cargo-home/bin:$PATH" && \47 export CARGO_HOME="/cargo-home" && \48 cargo fetch4950RUN export PATH="/cargo-home/bin:$PATH" && \51 export CARGO_HOME="/cargo-home" && \52 rustup toolchain uninstall $(rustup toolchain list) && \53 rustup toolchain install $RUST_TOOLCHAIN && \54# rustup toolchain install $RUST_C && \55 rustup target add wasm32-unknown-unknown --toolchain $RUST_TOOLCHAIN && \56 rustup default $RUST_TOOLCHAIN && \57 rustup target list --installed && \58 rustup show5960RUN export PATH="/cargo-home/bin:$PATH" && \61 export CARGO_HOME="/cargo-home" && \62 cargo build "--$PROFILE"63 # && \64 # cargo test65666768RUN git clone -b $POLKA_VERSION --depth 1 https://github.com/paritytech/polkadot.git && \69 cd polkadot && \70 git tag -n && \71 export PATH="/cargo-home/bin:$PATH" && \72 export CARGO_HOME="/cargo-home" && \73 cargo build --release7475# ===== RUN ======7677FROM phusion/baseimage:focal-1.0.07879ARG PROFILE=release8081COPY --from=builder /nft_parachain/target/$PROFILE/nft /nft_private/target/$PROFILE/82COPY --from=builder /nft_parachain/polkadot/target/$PROFILE/polkadot /polkadot/target/$PROFILE/8384RUN apt-get update && \85 apt-get dist-upgrade -y -o Dpkg::Options::="--force-confold" && \86 apt-get install -y cmake pkg-config libssl-dev git clang8788RUN git clone https://github.com/paritytech/polkadot-launch.git8990RUN apt-get -y update && \91 apt-get -y upgrade && \92 apt-get -y install curl && \93 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \94 export NVM_DIR="$HOME/.nvm" && \95 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \96 nvm install v15.5.0 && \97 nvm use v15.5.098# npm install --save @polkadot/api && \99# npm install --save-dev mochawesome100101102CMD export NVM_DIR="$HOME/.nvm" && \103 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \104 cd /polkadot-launch && \105 npm install --global yarn && \106 yarn install && \107 yarn build && \108 yarn start launch-config.json