FROM golang:1.21 as op WORKDIR /app ENV REPO=https://github.com/ethereum-optimism/optimism.git ENV VERSION=v1.7.7 ENV COMMIT=f8143c8cbc4cc0c83922c53f17a1e47280673485 RUN git clone $REPO --branch op-node/$VERSION --single-branch . && \ git switch -c branch-$VERSION && \ bash -c '[ "$(git rev-parse HEAD)" = "$COMMIT" ]' RUN cd op-node && \ make VERSION=$VERSION op-node FROM golang:1.21 as geth WORKDIR /app ENV REPO=https://github.com/ethereum-optimism/op-geth.git ENV VERSION=v1.101315.2 ENV COMMIT=7c2819836018bfe0ca07c4e4955754834ffad4e0 RUN git clone $REPO --branch $VERSION --single-branch . && \ git switch -c branch-$VERSION && \ bash -c '[ "$(git rev-parse HEAD)" = "$COMMIT" ]' RUN go run build/ci.go install -static ./cmd/geth FROM ubuntu:22.04 RUN apt-get update && \ apt-get install -y jq curl supervisor && \ rm -rf /var/lib/apt/lists RUN mkdir -p /var/log/supervisor WORKDIR /app COPY --from=op /app/op-node/bin/op-node ./ COPY --from=geth /app/build/bin/geth ./ COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf COPY geth/geth-entrypoint ./execution-entrypoint COPY op-node-entrypoint . CMD ["/usr/bin/supervisord"]