Skip to content
Snippets Groups Projects
Select Git revision
  • main
1 result

host.ini

Blame
  • Dockerfile 1.17 KiB
    ############################
    # Build
    ############################
    # golang:1.14.0-buster
    FROM golang@sha256:fc7e7c9c4b0f6d2d5e8611ee73b9d1d3132750108878517bbf988aa772359ae4 AS build
    
    # Ensure ca-certficates are up to date
    RUN update-ca-certificates
    
    # Set the current Working Directory inside the container
    RUN mkdir /goshimmer
    WORKDIR /goshimmer
    
    # Use Go Modules
    COPY go.mod .
    COPY go.sum .
    
    ENV GO111MODULE=on
    RUN go mod download
    RUN go mod verify
    
    # Copy everything from the current directory to the PWD(Present Working Directory) inside the container
    COPY . .
    
    # Build the binary
    RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \
          -ldflags='-w -s -extldflags "-static"' -a \
           -o /go/bin/goshimmer
    
    ############################
    # Image
    ############################
    # using static nonroot image
    # user:group is nonroot:nonroot, uid:gid = 65532:65532
    FROM gcr.io/distroless/static@sha256:23aa732bba4c8618c0d97c26a72a32997363d591807b0d4c31b0bbc8a774bddf
    
    EXPOSE 14666/tcp
    EXPOSE 14626/udp
    
    # Copy the Pre-built binary file from the previous stage
    COPY --from=build /go/bin/goshimmer /run/goshimmer
    
    ENTRYPOINT ["/run/goshimmer", "--config-dir=/", "--database.directory=/tmp/mainnetdb"]