git.delta.rocks / unique-network / refs/commits / 1f2f30233a3b

difftreelog

source

Dockerfile-parachain2.8 KiBsourcehistory
1# ===== Rust builder =====2FROM phusion/baseimage:focal-1.1.0 as rust-builder3LABEL maintainer="Unique.Network"45ARG RUST_TOOLCHAIN=nightly-2022-04-076#ARG RUST_C=1.62.0-nightly7ARG POLKA_VERSION=release-v0.9.238ARG UNIQUE_BRANCH=develop910#ARG USER=***11#ARG PASS=***121314ENV RUST_TOOLCHAIN $RUST_TOOLCHAIN15#ENV RUST_C $RUST_C16ENV POLKA_VERSION $POLKA_VERSION17ENV UNIQUE_BRANCH $UNIQUE_BRANCH181920#RUN echo $RUST_TOOLCHAIN21#RUN echo $RUST_C22#RUN echo $POLKA_VERSION23#RUN echo $UNIQUE_BRANCH2425ENV CARGO_HOME="/cargo-home"26ENV PATH="/cargo-home/bin:$PATH"2728RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain none2930RUN apt-get update && \31    apt-get dist-upgrade -y -o Dpkg::Options::="--force-confold" && \32    apt-get install -y cmake pkg-config libssl-dev git clang3334RUN rustup toolchain uninstall $(rustup toolchain list) && \35    rustup toolchain install $RUST_TOOLCHAIN && \36    rustup default $RUST_TOOLCHAIN && \37    rustup target list --installed && \38    rustup show39RUN rustup target add wasm32-unknown-unknown --toolchain $RUST_TOOLCHAIN4041RUN cargo install cargo-chef4243RUN mkdir unique_parachain44WORKDIR /unique_parachain4546# ===== Chef =====47FROM rust-builder as chef4849COPY . .50RUN cargo chef prepare --recipe-path recipe.json5152# ===== BUILD ======53FROM rust-builder as builder5455RUN mkdir unique_parachain56WORKDIR /unique_parachain5758COPY --from=chef /unique_parachain/recipe.json recipe.json59ARG PROFILE=release60RUN cargo chef cook "--$PROFILE" --recipe-path recipe.json6162COPY . .63RUN cargo build "--$PROFILE"64   # && \65   # cargo test6667# ===== BUILD POLKADOT =====68FROM rust-builder as builder-polkadot6970RUN mkdir unique_parachain71WORKDIR /unique_parachain7273RUN git clone -b $POLKA_VERSION --depth 1 https://github.com/paritytech/polkadot.git && \74    cd polkadot && \75    git tag -n && \76	cargo build --release7778# ===== RUN ======7980FROM phusion/baseimage:focal-1.1.08182ARG PROFILE=release8384RUN apt-get -y update && \85      apt-get -y upgrade && \86      apt-get -y install curl git && \87      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \88      export NVM_DIR="$HOME/.nvm" && \89      [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \90      nvm install v15.5.0 && \91      nvm use v15.5.09293RUN git clone https://github.com/paritytech/polkadot-launch9495RUN export NVM_DIR="$HOME/.nvm" && \96    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \97    cd /polkadot-launch && \98    npm install --global yarn && \99    yarn100101COPY --from=builder /unique_parachain/target/$PROFILE/unique-collator /unique-chain/target/$PROFILE/102COPY --from=builder-polkadot /unique_parachain/polkadot/target/$PROFILE/polkadot /polkadot/target/$PROFILE/103104CMD export NVM_DIR="$HOME/.nvm" && \105    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \106    cd /polkadot-launch && \107    yarn start launch-config.json