Files
nomos-node/tests/testing_framework/assets/runtime/Dockerfile.node
T

53 lines
1.6 KiB
Docker

# syntax=docker/dockerfile:1
# check=skip=SecretsUsedInArgOrEnv
# Cache directory used by the circuits. Not meant to be overridden.
ARG LB_CACHE=/root/.cache/logos/blockchain
FROM rust:1.94.0-slim-bookworm AS cfgsync-builder
WORKDIR /logos-blockchain-testing
COPY --from=logos_blockchain_testing . /logos-blockchain-testing
RUN apt-get update && apt-get install -yq \
git gcc g++ clang libssl-dev pkg-config ca-certificates curl \
&& rm -rf /var/lib/apt/lists/*
RUN cargo build --locked --release \
-p cfgsync-runtime \
--bin cfgsync-client
FROM rust:1.94.0-slim-bookworm AS builder
ARG LB_CACHE
WORKDIR /workspace
COPY . .
COPY --from=logos_blockchain_testing . /logos-blockchain-testing
RUN apt-get update && apt-get install -yq \
git gcc g++ clang libssl-dev pkg-config ca-certificates curl unzip \
&& rm -rf /var/lib/apt/lists/*
RUN cargo build --locked --release \
-p logos-blockchain-node \
--features testing \
--bin logos-blockchain-node
FROM debian:bookworm-slim AS base
RUN apt-get update && apt-get install -yq \
libstdc++6 libssl3 ca-certificates curl \
&& rm -rf /var/lib/apt/lists/*
ARG LB_CACHE
# Copies the entire cache dir.
# We only need the circuits, but this is currently much simpler than just copying the circuits subdir.
# This might be addressed later, after the circuits directories structure is standardised.
COPY --from=builder $LB_CACHE $LB_CACHE
COPY --from=builder /workspace/target/release/logos-blockchain-node /usr/bin/logos-blockchain-node
COPY --from=cfgsync-builder /logos-blockchain-testing/target/release/cfgsync-client /usr/bin/cfgsync-client
ENTRYPOINT ["/usr/bin/logos-blockchain-node"]