Files
ethereum-rpc-docker/sonic/sonic.Dockerfile
2025-06-14 12:58:22 +07:00

37 lines
954 B
Docker

FROM golang:1.22 as builder
ARG VERSION
ARG REPO
ARG PATCH
RUN apt-get update && apt-get install -y git musl-dev make
RUN cd /go && git clone ${REPO:-https://github.com/0xsoniclabs/sonic.git} sonic && cd sonic && git fetch --tags && git checkout -b ${VERSION} tags/${VERSION}
COPY ${PATCH:-empty.patch} /tmp/my-patch.patch
RUN if [ -n "$PATCH" ]; then \
echo "Using patch file: $PATCH"; \
git apply --verbose /tmp/my-patch.patch || \
(echo "Patch failed to apply!" && exit 1); \
else \
echo "No patch file provided. Skipping."; \
fi
WORKDIR /go/sonic
ARG GOPROXY
RUN go mod download
RUN make all
FROM golang:1.22
COPY --from=builder /go/sonic/build/sonicd /usr/local/bin/
COPY --from=builder /go/sonic/build/sonictool /usr/local/bin/
COPY ./scripts/entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/entrypoint.sh
EXPOSE 18545 18546 5050 5050/udp
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]