Files
linea-monorepo/prover/Dockerfile
Arya Tabaie fdd84f24e5 refactor: Use new GKR API (#1064)
* use new gkr API

* fix Table pointers

* refactor: remove removed test engine option

* chore: don't initialize struct for interface assertion

* refactor: plonk-in-wizard hardcoded over U64 for now

* refactor: use new gnark-crypto stateless RSis API

* test: disable incompatible tests

* chore: go mod update to PR tip

* chore: dependency against gnark master

* chore: cherry-pick 43141fc13d

* test: cherry pick test from 407d2e25ecfc32f5ed702ab42e5b829d7cabd483

* chore: remove magic values

* chore: update go version in Docker builder to match go.mod

---------

Co-authored-by: Ivo Kubjas <ivo.kubjas@consensys.net>
2025-06-09 14:17:34 +02:00

57 lines
1.6 KiB
Docker

# syntax=docker/dockerfile:1
# Required to use the --build-context flag
###############################
#
# G O + R U S T B U I L D E R
#
###############################
FROM golang:1.23.10-alpine AS go-builder
RUN apk add --no-cache rust cargo bash make
WORKDIR /usr/src/
COPY --from=prover go.mod .
COPY --from=prover go.sum .
RUN go mod download
COPY --from=constraints . ./constraints
COPY --from=prover . ./prover
WORKDIR /usr/src/prover/
RUN make bin/prover
RUN make bin/controller
#######################
#
# F I N A L I M A G E
#
#######################
FROM alpine:3
RUN apk add --no-cache bash musl-dev libgcc
RUN mkdir -p /opt/linea/prover/lib/compressor /app/logs
# Import the LICENSE
COPY ../LICENSE-APACHE /opt/linea/prover/
COPY ../LICENSE-MIT /opt/linea/prover/
# Copy the blob compressor dictionaries
COPY --from=go-builder /usr/src/prover/lib/compressor/compressor_dict.bin /opt/linea/prover/lib/compressor/
COPY --from=go-builder /usr/src/prover/lib/compressor/dict/25-04-21.bin /opt/linea/prover/lib/compressor/dict/
# Import the prover
COPY --from=go-builder /usr/src/prover/bin/prover /opt/linea/prover/prover
COPY --from=go-builder /usr/src/prover/bin/controller /opt/linea/prover/controller
# Initilize the dirs that will contain the configuration files and the setup
RUN mkdir -p /opt/linea/prover/config
# Useful ENV variables that you may want to pass at runtime
ENV GOMEMLIMIT=340GiB
ENV CONFIG_FILE="/opt/linea/prover/config/config.toml"
ENV PATH="${PATH}:/opt/linea/prover/"
CMD ["sh", "-c", "/opt/linea/prover/controller --config $CONFIG_FILE --local-id $WORKER_ID"]