github.com/status-im/status-go@v1.1.0/_assets/build/Dockerfile (about) 1 # Build status-go in a Go builder container 2 FROM golang:1.21-alpine3.18 as builder 3 4 5 RUN apk add --no-cache make gcc g++ musl-dev linux-headers 6 7 ARG build_tags 8 ARG build_flags 9 ARG build_target=statusgo 10 11 RUN mkdir -p /go/src/github.com/status-im/status-go 12 WORKDIR /go/src/github.com/status-im/status-go 13 ADD . . 14 RUN make $build_target BUILD_TAGS="$build_tags" BUILD_FLAGS="$build_flags" SHELL="/bin/sh" 15 16 # Copy the binary to the second image 17 FROM alpine:3.18 18 19 ARG build_target=statusgo 20 21 LABEL maintainer="support@status.im" 22 LABEL source="https://github.com/status-im/status-go" 23 LABEL description="status-go is an underlying part of Status - a browser, messenger, and gateway to a decentralized world." 24 25 RUN apk add --no-cache ca-certificates bash libgcc libstdc++ curl 26 RUN mkdir -p /static/keys 27 RUN mkdir -p /static/configs 28 29 COPY --from=builder /go/src/github.com/status-im/status-go/build/bin/$build_target /usr/local/bin/ 30 COPY --from=builder /go/src/github.com/status-im/status-go/static/keys/* /static/keys/ 31 COPY --from=builder /go/src/github.com/status-im/status-go/integration-tests/config.json /static/configs/ 32 33 RUN ln -s /usr/local/bin/$build_target /usr/local/bin/entrypoint 34 35 # 30304 is used for Discovery v5 36 EXPOSE 8080 8545 30303 30303/udp 30304/udp 37 38 ENTRYPOINT ["/usr/local/bin/entrypoint"] 39 CMD ["--help"]