git.delta.rocks / unique-network / refs/commits / 6a7d5b108992

difftreelog

source

.docker/forking/Dockerfile-parachain-live-fork2.8 KiBsourcehistory
1# ===== Rust builder =====2FROM ubuntu:20.04 as rust-builder3LABEL maintainer="Unique.Network"45ARG RUST_TOOLCHAIN=67ENV RUST_TOOLCHAIN $RUST_TOOLCHAIN89ENV CARGO_HOME="/cargo-home"10ENV PATH="/cargo-home/bin:$PATH"11ENV TZ=UTC12RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone1314RUN apt-get update && \15    apt-get install -y curl cmake pkg-config libssl-dev git clang && \16    apt-get clean && \17    rm -r /var/lib/apt/lists/*1819RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain none2021RUN rustup toolchain uninstall $(rustup toolchain list) && \22    rustup toolchain install $RUST_TOOLCHAIN && \23    rustup default $RUST_TOOLCHAIN && \24    rustup target list --installed && \25    rustup show26RUN rustup target add wasm32-unknown-unknown --toolchain $RUST_TOOLCHAIN2728# ===== BUILD target version ======29FROM rust-builder as builder-unique-target3031ARG PROFILE=release32ARG FEATURE=33ARG BRANCH=34ARG REPO_URL=3536RUN mkdir /unique_parachain37WORKDIR /unique_parachain3839RUN git clone $REPO_URL -b $BRANCH . && \40    cargo build --features=$FEATURE --$PROFILE4142# ===== BUILD POLKADOT =====43FROM rust-builder as builder-polkadot4445ARG POLKADOT_BUILD_BRANCH=46ENV POLKADOT_BUILD_BRANCH $POLKADOT_BUILD_BRANCH4748RUN mkdir /unique_parachain49WORKDIR /unique_parachain5051RUN git clone -b $POLKADOT_BUILD_BRANCH --depth 1 https://github.com/paritytech/polkadot.git && \52    cd polkadot && \53    cargo build --release5455# ===== BUILD CHAINQL =====56FROM rust-builder as builder-chainql5758RUN mkdir chainql59WORKDIR /chainql6061RUN git clone --depth 1 https://github.com/CertainLach/chainql.git . && \62    cargo build --release6364# ===== RUN ======6566FROM ubuntu:20.046768ARG RUNTIME=69ENV RUNTIME $RUNTIME7071RUN apt-get -y update && \72      apt-get -y install curl git && \73      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \74      export NVM_DIR="$HOME/.nvm" && \75      [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \76      nvm install v16.16.0 && \77      nvm use v16.16.07879RUN git clone https://github.com/uniquenetwork/polkadot-launch -b feature/parachain-forking8081RUN export NVM_DIR="$HOME/.nvm" && \82    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \83    cd /polkadot-launch && \84    npm install --global yarn && \85    yarn install8687RUN echo "$RUNTIME"8889COPY --from=builder-unique-target /unique_parachain/target/release/unique-collator /unique-chain/target/release/9091COPY --from=builder-polkadot /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/9293COPY --from=builder-chainql /chainql/target/release/chainql /chainql/target/release/9495ARG FORK_FROM=96ENV FORK_FROM=$FORK_FROM97CMD export NVM_DIR="$HOME/.nvm" PATH="$PATH:/chainql/target/release" FORK_FROM && \98    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \99    cd /polkadot-launch && \100    yarn start launch-config.json101102