Skip to content
Snippets Groups Projects
Select Git revision
  • ec23f19448ea70a9e6e20b0abad93895b0abf80c
  • without_tipselection default
  • develop protected
  • fix/grafana-local-dashboard
  • wasp
  • fix/dashboard-explorer-freeze
  • master
  • feat/timerqueue
  • test/sync_debug_and_650
  • feat/sync_revamp_inv
  • wip/sync
  • tool/db-recovery
  • portcheck/fix
  • fix/synchronization
  • feat/new-dashboard-analysis
  • feat/refactored-analysis-dashboard
  • feat/new-analysis-dashboard
  • test/demo-prometheus-fpc
  • prometheus_metrics
  • wip/analysis-server
  • merge/fpc-test-value-transfer
  • v0.2.2
  • v0.2.1
  • v0.2.0
  • v0.1.3
  • v0.1.2
  • v0.1.1
  • v0.1.0
28 results

Dockerfile

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"]