2020-03-15 19:46:22 +01:00
# Default to Go 1.13
ARG GO_VERSION = 1 .13
2020-06-14 19:53:36 +02:00
FROM --platform=$BUILDPLATFORM golang:${GO_VERSION}-alpine as build
# Convert TARGETPLATFORM to GOARCH format
# https://github.com/tonistiigi/xx
COPY --from= tonistiigi/xx:golang / /
ARG TARGETPLATFORM
2019-06-04 16:56:29 +00:00
# Necessary to run 'go get' and to compile the linked binary
RUN apk add git musl-dev
2014-11-11 15:35:16 +01:00
2017-03-22 22:28:05 +01:00
ADD . /go/src/github.com/dutchcoders/transfer.sh
2014-11-11 15:35:16 +01:00
2019-06-04 16:56:29 +00:00
WORKDIR /go/src/github.com/dutchcoders/transfer.sh
ENV GO111MODULE = on
2014-11-11 15:35:16 +01:00
# build & install server
2019-11-13 21:19:04 +02:00
RUN go get -u ./... && CGO_ENABLED = 0 go build -ldflags -a -tags netgo -ldflags '-w -extldflags "-static"' -o /go/bin/transfersh github.com/dutchcoders/transfer.sh
2019-06-04 16:56:29 +00:00
FROM scratch AS final
LABEL maintainer = "Andrea Spacca <andrea.spacca@gmail.com>"
2014-11-11 15:35:16 +01:00
2019-06-04 16:56:29 +00:00
COPY --from= build /go/bin/transfersh /go/bin/transfersh
2019-06-23 13:03:31 +02:00
COPY --from= build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
2018-09-22 16:55:02 +08:00
ENTRYPOINT [ "/go/bin/transfersh" , "--listener" , ":8080" ]
2014-11-11 15:35:16 +01:00
2018-10-28 21:40:30 +03:00
EXPOSE 8080